﻿using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Web.Routing;
using System.Web.Security;
using DoNet.SFExpress.Framework.EXP_RECE;
using DoNet.SFExpress.Framework.SCS_PUSH;

namespace DoNet.SFExpress.Framework.FOP_RECE
{

    #region 零担下单类

    #region 下快运订单-快运

    /// <summary>
    /// 下快运订单-快运（快运API-零担下单类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestLtlCreateOrder
    {
        /// <summary>
        /// 客户订单号。CP须保证订单号唯一。
        /// 是
        /// String(64)
        /// </summary>
        public string orderId { set; get; }
        /// <summary>
        /// 使用预留的运单号时传入。只接受传入母单号。
        /// 否
        /// String(15)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 是否生成运单号， 0为不生成，使用传入的运单号。默认为1
        /// 是
        /// Number(0)
        /// </summary>
        public int isGenBillNo { set; get; } = 1;
        /// <summary>
        /// 使用预留的运单号时，此字段传入子单号。
        /// 否
        /// String(2000)
        /// </summary>
        public string subWaybills { set; get; }
        /// <summary>
        /// 寄件方公司名称
        /// 否
        /// String(100)
        /// </summary>
        public string sendCompany { set; get; }
        /// <summary>
        /// 寄件方联系人
        /// 是
        /// String(100)
        /// </summary>
        public string sendContact { set; get; }
        /// <summary>
        /// 寄件方联系手机
        /// 是
        /// String(20)
        /// </summary>
        public string sendMobile { set; get; }
        /// <summary>
        /// 寄件方联系电话（和上面的节点 sendMobile 二选一）
        /// 否
        /// String(20)
        /// </summary>
        public string sendTel { set; get; }
        /// <summary>
        /// 寄件方所在省级行政区名称，必须是标准的省级行政区名称 如：北京、广东省、广西壮族自治区等；
        /// 是
        /// String(30)
        /// </summary>
        public string sendProvince { set; get; }
        /// <summary>
        /// 寄件方所在地级行政区名称，必须是标准的城市称谓， 如：北京市、深圳市、大理白族自治州等；
        /// 是
        /// String(30)
        /// </summary>
        public string sendCity { set; get; }
        /// <summary>
        /// 寄件人所在县/区级行政区名称必须是标准的县/区称谓， 如：福田区，南涧彝族自治县、准格尔旗等。
        /// 是
        /// String(30)
        /// </summary>
        public string sendCounty { set; get; }
        /// <summary>
        /// 寄件方详细地址（请勿包含省市区）， 如：新洲十一街万基商务大厦10楼。
        /// 是
        /// String(200)
        /// </summary>
        public string sendAddress { set; get; }
        /// <summary>
        /// 顺丰月结卡号, 月结卡号必须符合使用规范，否则可能会导致订单揽收不了
        /// 否
        /// String(200)
        /// </summary>
        public string customId { set; get; }
        /// <summary>
        /// 取件方式 1. 客户自送 2 上门接货。默认为2上门接货。
        /// 否
        /// Number(1)
        /// </summary>
        public int pickUpMode { set; get; } = 2;
        /// <summary>
        /// 是否下call，0-不下call，适用于大客户自行打印面单，小哥固定时间上门揽收的场景；1-下call，小哥1小时内上门，适用于散件，单量较小，需小哥上门打单的场景。
        /// 是
        /// String(1)
        /// </summary>
        public string isDoCall { set; get; }
        /// <summary>
        /// 希望上门取件时间。格式：yyyy-MM-dd HH:mm:ss。 isDocall=1时有效，其中，预约时间超过晚8点，会自动约成第二天。
        /// 否
        /// String(19)
        /// </summary>
        public string expectedPickUpTime { set; get; }
        /// <summary>
        /// 到件方公司名称
        /// 否
        /// String(100)
        /// </summary>
        public string deliveryCompany { set; get; }
        /// <summary>
        /// 到件方联系人
        /// 是
        /// String(100)
        /// </summary>
        public string deliveryContact { set; get; }
        /// <summary>
        /// 到件方所在省级行政区名称，必须是标准的省级行政区名称 如：北京、广东省、广西壮族自治区等；
        /// 是
        /// String(30)
        /// </summary>
        public string deliveryProvince { set; get; }
        /// <summary>
        /// 到件方所在地级行政区名称，必须是标准的城市称谓
        /// 是
        /// String(30)
        /// </summary>
        public string deliveryCity { set; get; }
        /// <summary>
        /// 到件方所在县/区级行政区名称，必须是标准的县/区称谓， 如：福田区，南涧彝族自治县、准格尔旗等
        /// 是
        /// String(30)
        /// </summary>
        public string deliveryCounty { set; get; }
        /// <summary>
        /// 到件方详细地址（请勿包含省市区）， 如:新洲十一街万基商务大厦10楼。
        /// 是
        /// String(200)
        /// </summary>
        public string deliveryAddress { set; get; }
        /// <summary>
        /// 到件方联系手机
        /// 否
        /// String(20)
        /// </summary>
        public string deliveryMobile { set; get; }
        /// <summary>
        /// 到件方联系电话（和上面的节点 deliveryMobile 二选一）
        /// 否
        /// String(20)
        /// </summary>
        public string deliveryTel { set; get; }
        /// <summary>
        /// 到件方邮箱地址
        /// 否
        /// String(200)
        /// </summary>
        public string deliveryEmail { set; get; }
        /// <summary>
        /// 付款方式(邮费)： 1.寄方付 2.收方付 3.第三方付
        /// 是
        /// Number(1)
        /// </summary>
        public int payMethod { set; get; }
        /// <summary>
        /// 包裹数，一个包裹对应一个运单号； 若包裹数大于1，则返回1个母运单号和N-1个子运单号。
        /// 否
        /// Number(5)
        /// </summary>
        public int parcelQuantity { set; get; }
        /// <summary>
        /// 客户订单货物总长，单位厘米，精确到小数点后3位，包含子母件。
        /// 否
        /// Number(10, 3)
        /// </summary>
        public double cargoLength { set; get; }
        /// <summary>
        /// 客户订单货物总宽，单位厘米，精确到小数点后3位，包含子母件。
        /// 否
        /// Number(10, 3)
        /// </summary>
        public double cargoWidth { set; get; }
        /// <summary>
        /// 客户订单货物总高，单位厘米，精确到小数点后3位，包含子母件。
        /// 否
        /// Number(10, 3)
        /// </summary>
        public double cargoHeight { set; get; }
        /// <summary>
        /// 订单货物总体积，单位立方厘米，精确到小数点后3位，会用于计抛（是否计抛具体商务沟通中双方约定）。
        /// 否
        /// Number(17,3)
        /// </summary>
        public double volume { set; get; }
        /// <summary>
        /// 订单货物总重量，包含子母件，单位千克，精确到小数点后3位。使用送装增值服务时必填。
        /// 否
        /// Number(10, 3)
        /// </summary>
        public double cargoTotalWeight { set; get; }
        /// <summary>
        /// 是否返回签回单的运单号（只有当需要签回单的增值服务时才需要传递）。支持以下值： 1:返回 其他：不要求
        /// 否
        /// Number(1)
        /// </summary>
        public int needReturnTrackingNo { set; get; }
        /// <summary>
        /// 特殊派送类型代码 1:身份验证（要求验证身份证）
        /// 否
        /// String(30)
        /// </summary>
        public string specialDeliveryTypeCode { set; get; }
        /// <summary>
        /// 特殊派件具体表述 证件类型:证件后8位 如：1:09296231（1表示身份证，暂不支持其他证件）
        /// 否
        /// String(100)
        /// </summary>
        public string specialDeliveryValue { set; get; }
        /// <summary>
        /// 派送方式： 1. 派送 2.自提 （不传默认为1）
        /// 否
        /// Number(1)
        /// </summary>
        public int deliveryMode { set; get; }
        /// <summary>
        /// 是否有电梯（派送端) 1：有 其他：未知
        /// 否
        /// Number(1)
        /// </summary>
        public int hasElevator { set; get; }
        /// <summary>
        /// 派送预约上门时间类型：1.工作日、双休均可送货 2.仅工作日送货3.仅休息日送货 4.仅周六周日收货 5.仅周一至周六收货 6.仅周一至周五收货
        /// 否
        /// Number(1)
        /// </summary>
        public int deliveryResType { set; get; }
        /// <summary>
        /// 货物分类， 如家电、家俱等。
        /// 否
        /// String(30)
        /// </summary>
        public string cargoType { set; get; }
        /// <summary>
        /// 货物名称 如小天鹅洗衣机
        /// 否
        /// String(100)
        /// </summary>
        public string cargoName { set; get; }
        /// <summary>
        /// 声明价值，指运输商品价值，非增值服务保价金额，如需要保价，请参考AdditionService中Code:INSURE
        /// 否
        /// Number(10,3)
        /// </summary>
        public double decalredValue { set; get; }
        /// <summary>
        /// 声明价值的货币类型，默认CNY,
        /// 否
        /// String(3)
        /// </summary>
        public string currencyCode { set; get; } = "CNY";
        /// <summary>
        /// SF快运产品类型，参见附录 快运产品列表。
        /// 否
        /// String(10)
        /// </summary>
        public string productCode { set; get; }
        /// <summary>
        /// 电商原始订单号
        /// 否
        /// String(64)
        /// </summary>
        public string originalNumber { set; get; }
        /// <summary>
        /// 客户订单来源（taobao, tmall,jd,pdd等）
        /// 否
        /// String(50)
        /// </summary>
        public string orderSource { set; get; }
        /// <summary>
        /// 备注
        /// 否
        /// String(100)
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 托寄物明细，多个托寄物传多个List, 参见Cargo
        /// 是
        /// Array
        /// </summary>
        public List<CargoInfo> cargoList { set; get; }
        /// <summary>
        /// 包裹信息（指定包裹件数、重量、体积等）参见 Package
        /// 否
        /// Array
        /// </summary>
        public List<PackageInfo> packageList { set; get; }
        /// <summary>
        /// 增值服务 参见AdditionService
        /// 否
        /// Array
        /// </summary>
        public List<AdditionService> additionServices { set; get; }
        /// <summary>
        /// 扩展字段，key和value接口
        /// 否
        /// Array<String, String>
        /// </summary>
        public List<ExtraMap> extraMap { set; get; }
        /// <summary>
        /// 第三方签回单信息，签回单转寄到第三方地址（即非寄件地址）情况填写，详情参见ThirdSignBackInfo
        /// 否
        /// Object
        /// </summary>
        public ThirdSignBackInfo thirdSignBackInfo { set; get; }
        /*	
        请求示例(msgData部分数据）

        {
            "AdditionServices": [
                {
                    "name": "INSURE",
                    "value": "4"
                }
            ],
            "cargoList": [
                {
                    "boxNo": "商品下发3",
                    "count": 1,
                    "height": 6,
                    "length": 4,
                    "name": "商品下发3",
                    "volume": 230000.0,
                    "weight": 26,
                    "width": 5
                },
                {
                    "boxNo": "商品下发3",
                    "count": 1,
                    "height": 103,
                    "length": 100,
                    "name": "商品下发3",
                    "volume": 103000.0,
                    "weight": 0,
                    "width": 1024
                }
            ],
            "cargoName": "商品下发3 （1件） 商品下发1 （1件）",
            "cargoTotalWeight": 126.0,
            "cargoTypeCode": "SP635",
            "customId": "7556000455",
            "declaredValue": 4,
            "deliveryAddress": "粤海街道软件产业基地",
            "deliveryCity": "深圳市",
            "deliveryCompany": "深圳市顺丰供应链有限公司旗下分公司快运科技有限公司",
            "deliveryContact": "彭伟",
            "deliveryCounty": "南山区",
            "deliveryMobile": "18025383086",
            "deliveryProvince": "广东省",
            "deliveryTel": "",
            "expectedPickUpTime": "",
            "isGenBillNo": 0,
            "isReturnSignBackRoutelabel": 0,
            "orderId": "EP11075794533173121",
            "packageList": [
                {
                    "boxNo": "商品下发3",
                    "height": 6,
                    "length": 4,
                    "unitVolume": "立方厘米",
                    "unitWeight": "千克",
                    "volume": 230000.0,
                    "waybillNo": "SF1030346019019",
                    "weight": 26,
                    "width": 5
                },
                {
                    "boxNo": "商品下发3",
                    "height": 103,
                    "length": 100,
                    "unitVolume": "立方厘米",
                    "unitWeight": "千克",
                    "volume": 103000.0,
                    "waybillNo": "SF2070014483968",
                    "weight": 0,
                    "width": 1024
                }
            ],
            "parcelQuantity": 2,
            "payMethod": 1,
            "paymentType": 2,
            "remark": "",
            "sendAddress": "翠竹南路5412号",
            "sendCity": "深圳市",
            "sendCompany": "",
            "sendContact": "谢玉",
            "sendCounty": "罗湖区",
            "sendMobile": "15012794320",
            "sendProvince": "广东省",
            "sendTel": "",
            "subWaybills": "SF2070014483968",
            "volume": 350000.0,
            "waybillNo": "SF1030346019019"
        }
        */
    }
    /// <summary>
    /// 下快运订单-快运（快运API-零担下单类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseLtlCreateOrder
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 业务对象
        /// 否
        /// Obj
        /// </summary>
        public LtlCreateOrderObj obj { set; get; }
        /*	
        响应参数

        属性名	参数类型	Required/Optional	描述
        orderId	String(64)	R	客户订单号
        waybillNo	String(32)	R	顺丰运单号(母单号)。一个订单只能生成一个母单号。
        subWaybillNos	String(400)	O	子单号，如果有多个子单号会以半角逗号分隔。如“755123456789,001123456789”
        returnTrackingNo	String(30)	O	签回单号
        destCode	String(10)	O	目的地区域代码
        filterResult	Number(1)	O	筛单结果： 1：人工确认,客服会在1小时内给下单手机致电反馈是否可达； 2：可收派 3：不可以收派
        filterRemark	String(100)	O	不可以收派的原因代码: 1：收方超范围 2：派方超范围 3：其它原因
        mappingMark	String(30)	O	地址映射码
        paymentLink	String(200)	O	第三方支付运费的URL
        rlsInfo	RlsInfo	O	路由标签信息，用于打印电子面单。参见RlsInfo
        RlsInfo：

        属性名	参数类型	描述
        invokeResult	String(30)	返回调用结果，ERR：调用失败；OK调用成功
        rlsCode	String(30)	调用Rls的错误代码 0000（接口参数异常） 0010（其它异常） 0001（xml解析异常 0002（字段校验异常） 0003（票数节点超出最大值，批量请求最大票数为100票） 0004（RLS获取路由标签的必要字段为空 1000 成功
        errorDesc	String(1000)	错误信息
        rlsDetail	RlsDetail	路由标签查询结果详情
        RlsDetail：

        属性名	参数类型	描述
        waybillNo	String(64)	运单号
        sourceTransferCode	String(60)	原寄地中转场
        sourceCityCode	String(60)	原寄地城市代码
        sourceDeptCode	String(60)	原寄地网点代码
        sourceTeamCode	String(60)	原寄地单元区域
        destCityCode	String(60)	目的地城市代码,eg:755
        destDeptCode	String(60)	目的地网点代码,eg:755AQ
        destDeptCodeMapping	String(60)	目的地网点代码映射码
        destTeamCode	String(60)	目的地单元区域,eg:001
        destTeamCodeMapping	String(60)	目的地单元区域映射码
        destTransferCode	String(60)	目的地中转场
        destRouteLabel	String(200)	打单时的路由标签信息
        proName	String(60)	产品名称 对应RLS:pro_name
        cargoTypeCode	String(30)	快件内容： 如：C816、SP601
        limitTypeCode	String(30)	时效代码, 如：T4
        expressTypeCode	String(30)	产品类型,如：B1
        codingMapping	String(60)	入港映射码 eg:S10
        codingMappingOut	String(60)	出港映射码
        forwardFlag	String(30)	外发标签
        printFlag	String(60)	打印标志 返回值总共有 9 位，每一位只有 0和 1 两种， 0 表示按顺丰运单默认的规则，1 表示显示
        twoDimensionCode	String(600)	二维码
        printIcon	String(100)	打印图标 根据托寄物判断需要打印的图标 (重货,蟹类,生鲜,易碎，Z 标)返回值有 8 位，每一位只有 0 和 1两种，0 表示按运单默认的规则，1 表示显示。后面两位默认 0 备用。 顺序如下：重货,蟹类,生鲜,易碎, 医药类,Z 标,0,0 如：00000000 表示不需要打印重货，蟹类，生鲜，易碎,医药,Z 标,备用,备用
        fopIcon	String(100)	快运标签：目前有两位，第一位备用。第二位：送装标识（0:不打印;1:送装分离icon;2:送装一体icon）
        abFlag	String(30)	AB标
        errMsg	String(1000)	查询出现异常时返回信息。 返回代码： 0 系统异常 1 未找到运单
        goodsNumber	String(20)	件数
        pickUpWay	String(50)	提/送货方式: 自提 送货上门（无电梯） 送货上门（有电梯） 送货（不含上楼）
        routeArray	String(100)	路由数组,示例:”755G:D3,769BG:A2,020BF:C2,021BG:AF,010FG:D2”
        printLogo	Number(1)	是否打印logo 1：打印 其他：不打印
        响应示例

        {
            "obj": {
                "destCode": "755A",
                "filterResult": "2",
                "orderId": "1638431361",
                "remark": "IN100:加价管控，IN100深圳——深圳",
                "returnTrackingNo": "SF1200020923891",
                "rlsInfo": {
                    "rlsDetail": {
                        "abFlag": "",
                        "cargoTypeCode": "SP647",
                        "codingMapping": "D16",
                        "codingMappingOut": "A01",
                        "destCityCode": "755",
                        "destDeptCode": "755A",
                        "destDeptCodeMapping": "755W",
                        "destRouteLabel": "755W_CITY_DD-A-018",
                        "destTeamCode": "018",
                        "destTeamCodeMapping": "",
                        "destTransferCode": "755W_CITY_DD",
                        "destinationStationCode": "",
                        "errMsg": "",
                        "expressTypeCode": "B2",
                        "fopIcon": "00",
                        "goodsNumber": "",
                        "limitTypeCode": "T28",
                        "newIcon": "00000100",
                        "printFlag": "000000000",
                        "printIcon": "00110000",
                        "proCode": "T4",
                        "proName": "",
                        "routeArray": "'755AWQ':'A01','':'','':'','755W_CITY_DD':'D16'",
                        "sendAreaCode": "",
                        "sourceCityCode": "755",
                        "sourceDeptCode": "755Q",
                        "sourceTeamCode": "005",
                        "sourceTransferCode": "755AWQ",
                        "sxCompany": "",
                        "twoDimensionCode": "MMM={'k1':'755W_CITY_DD','k2':'755A','k3':'018','k4':'T4','k5':'SF1030368080027','k6':'','k7':'cadc763c'}",
                        "waybillNo": "SF1030368080027",
                        "xbFlag": "0"
                    }
                },
                "signBackRlsInfo": {
                    "rlsDetail": {
                        "abFlag": "",
                        "cargoTypeCode": "C201",
                        "codingMapping": "",
                        "codingMappingOut": "A01",
                        "destCityCode": "755",
                        "destDeptCode": "755",
                        "destDeptCodeMapping": "",
                        "destRouteLabel": "755W_CITY_DD-755",
                        "destTeamCode": "",
                        "destTeamCodeMapping": "",
                        "destTransferCode": "755W_CITY_DD",
                        "destinationStationCode": "",
                        "errMsg": "",
                        "expressTypeCode": "B1",
                        "goodsNumber": "",
                        "limitTypeCode": "T4",
                        "newIcon": "00000000",
                        "printFlag": "000000000",
                        "printIcon": "00000000",
                        "proCode": "T4",
                        "proName": "顺丰特快",
                        "routeArray": "'755W_CITY_DD':'A01','':'','':'','755W_CITY_DD':''",
                        "sendAreaCode": "",
                        "sourceCityCode": "755",
                        "sourceDeptCode": "755U",
                        "sourceTeamCode": "027",
                        "sourceTransferCode": "755W_CITY_DD",
                        "sxCompany": "",
                        "twoDimensionCode": "MMM={'k1':'755W_CITY_DD','k2':'755','k3':'','k4':'T4','k5':'SF1200020923891','k6':'','k7':'bdf95b16'}",
                        "waybillNo": "SF1200020923891",
                        "xbFlag": "0"
                    }
                },
                "subWaybillNos": "SF2060036457654,SF2010285271160,SF2010285270703",
                "waybillNo": "SF1030368080027"
            },
            "success": true
        }
        */
    }

    #endregion 下快运订单-快运

    #region 取消订单

    /// <summary>
    /// 取消订单（快运API-零担下单类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestLtlCancelOrder
    {
        /// <summary>
        /// 客户订单号
        /// 是
        /// String(64)
        /// </summary>
        public string orderId { set; get; }
        /// <summary>
        /// 传1取消后，orderId可重复利用
        /// 否
        /// String(1)
        /// </summary>
        public string cancelType { set; get; }
        /*
        请求示例(msgData部分数据）

        {
            "orderId":"EP12343432232"
        }
        */
    }
    /// <summary>
    /// 取消订单（快运API-零担下单类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseLtlCancelOrder
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /*
        2.3.返回参数
        属性名	参数类型	Required/Optional	描述
        orderId	String(64)	R	客户订单号
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功
        obj	Object	O	返回数据
        响应示例

        {
            "errorCode": "",
            "errorMessage": "",
            "success": true
        } 
        */
    }

    #endregion 取消订单

    #region 下单结果查询

    /// <summary>
    /// 下单结果查询（快运API-零担下单类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestLtlGetOrderResult
    {
        /// <summary>
        /// 根据客户订单号查询
        /// 是
        /// String(64)
        /// </summary>
        public string orderId { set; get; }
        /*
        请求示例(msgData部分数据）

        {
	        "orderId":"EP123442131212"
        }
        */
    }
    /// <summary>
    /// 下单结果查询（快运API-零担下单类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseLtlGetOrderResult
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 业务对象
        /// 否
        /// Obj
        /// </summary>
        public LtlCreateOrderObj obj { set; get; }
        /*
        2.2.响应参数

        参考接口(下快运订单)的响应参数

        响应示例

        参考接口(下快运订单)的响应示例 
        */
    }

    #endregion 下单结果查询

    #region 追加子单号

    /// <summary>
    /// 追加子单号（快运API-零担下单类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestLtlAppendSubWaybill
    {
        /// <summary>
        /// 客户订单号。CP须保证订单号唯一。
        /// 是
        /// String(64)
        /// </summary>
        public string orderId { set; get; }
        /// <summary>
        /// 追加子单号个数，总子单数最大支持1200个。
        /// 是
        /// Number(5)
        /// </summary>
        public int count { set; get; }
        /*
        请求示例(msgData部分数据）

        {
	        "orderId":"EP123442131212",
            "count": 10
        }
        */
    }
    /// <summary>
    /// 追加子单号（快运API-零担下单类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseLtlAppendSubWaybill
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 业务对象
        /// 否
        /// Obj
        /// </summary>
        public LtlCreateOrderObj obj { set; get; }
        /*
        2.2.响应参数
        参考接口(下快运订单)的响应参数

        响应示例

        参考接口(下快运订单)的响应示例 
        */
    }

    #endregion 追加子单号

    #endregion 零担下单类

    #region 运单查询推送类

    #region 订单状态推送

    /// <summary>
    /// 订单状态推送（快运API-运单查询推送类） 业务数据请求报文
    /// </summary>
    public class LtlOrderStatusRequest : SFRequest
    {
        /// <summary>
        /// 操作员姓名
        /// 否
        /// String(32)
        /// </summary>
        public MsgDataRequestLtlOrderStatus msgData { set; get; }
    }
    /// <summary>
    /// 订单状态推送（快运API-运单查询推送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestLtlOrderStatus
    {
        /// <summary>
        /// 外部订单号
        /// 是
        /// String(64)
        /// </summary>
        public string orderId { set; get; }
        /// <summary>
        /// 运单号（生成后会传）
        /// 否
        /// String(32)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 订单状态（00取消，04执行中，05执行完成）
        /// 是
        /// String(16)
        /// </summary>
        public string orderStatus { set; get; }
        /// <summary>
        /// 操作码（具体操作码见附录3.1）
        /// 信息类型名称  任务类型编码 对应订单状态
        /// 接收订单信息反馈	40037	04
        /// 订单匹配收派员	40001	04
        /// 正常收件	40003	05
        /// 已从客户处取件	40019	04
        /// 异常收件	40002	04
        /// 人工审补消单	40045	00
        /// 客户自己消单		00
        /// 否
        /// String(16)
        /// </summary>
        public string operateCode { set; get; }
        /// <summary>
        /// 异常码（具体异常码见附录3.2）
        /// 信息类型名称  任务类型编码
        /// 电话号码异常（电话错误/空号/停机）	40021
        /// 无法进入客户处，且客户不愿出来	40022
        /// 暂未联系上客户（电话无人接听/无法接通/关机）	40004
        /// 经客户同意，更改收派时间	40005
        /// 天气原因，延误收派件	40027
        /// 交通原因，延误收派件	40028
        /// 不符合收件要求，无法揽收	40031
        /// 客户取消寄件	40014
        /// 客户重复下单	40015
        /// 下错单需转单	40016
        /// 工作量过大，延误收派件	40035
        /// 重货需转单	40036 
        /// 否
        /// String(16)
        /// </summary>
        public string reasonCode { set; get; }
        /// <summary>
        /// 操作员电话
        /// 否
        /// String(32)
        /// </summary>
        public string operateEmpTel { set; get; }
        /// <summary>
        /// 操作员姓名
        /// 否
        /// String(32)
        /// </summary>
        public string operateName { set; get; }
        /*
        请求示例(msgData部分数据）

        {
            "operateCode": "40001",
            "operateEmpTel": "13631255888",
            "operateName": "杨峰",
            "orderId": "1628083955",
            "orderStatus": "04",
            "waybillNo": "SF1011804718864"
        }
        2.3.返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	CP接收数据是否成功
        响应示例

        {
            "errorCode": "",
            "errorMessage": "",
            "success": true
        }
        */
    }
    /// <summary>
    /// 订单状态推送（快运API-运单查询推送类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseLtlOrderStatus
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// CP接收数据是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
    }

    #endregion 订单状态推送

    #region 运单图片查询

    /// <summary>
    /// 运单图片查询（快运API-运单查询推送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestQueryPic
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String(32)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 月结卡号，不能与手机号同时为空
        /// 否
        /// String(32)
        /// </summary>
        public string monthlyCard { set; get; }
        /// <summary>
        /// 手机号，不能与月季卡号同时为空
        /// 否
        /// String(32)
        /// </summary>
        public string phone { set; get; }
        /// <summary>
        /// 图片类型
        /// 图片类型枚举：
        /// 71	电子回单图片
        /// 68	安装完成图
        /// 5	电子签收图
        /// 是
        /// Array(String)
        /// </summary>
        public string[] imageTypes { set; get; }
        /*
        请求示例(msgData部分数据）

        {
                "waybillNo": "SF1336340026280",
                "imageTypes": [
                    "71"
                ],
                "monthlyCard": "0200217018"
            }
        */
    }
    /// <summary>
    /// 运单图片查询（快运API-运单查询推送类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseQueryPic
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 业务对象
        /// 否
        /// Obj
        /// </summary>
        public QueryPicObj obj { set; get; }
        /*
        2.3.响应参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功
        obj	Obj	O	业务对象
        业务对象：

        属性名	参数类型	Required/Optional	描述
        picInfoList	Array	R	图片信息列表，详情见ImageVo
        ImageVo:

        属性名	参数类型	Required/Optional	描述
        imageType	String	R	图片类型
        amount	Integer	R	图片数量
        imageList	Array(String)	R	图片集，内容为图片base64编码
        响应示例

        {
            "success":true,
            "obj":{
                "picInfoList": [
                    {
                        "imageType": "71",
                        "amount": 1,
                        "imageList": [
                            "ifenfeihwiKHeog3..."
                        ]
                    }
                ]
            }
        } 
        */
    }

    #endregion 运单图片查询

    #region 图片注册推送

    /// <summary>
    /// 图片注册推送（快运API-运单查询推送类） 业务数据请求报文
    /// </summary>
    public class LtlRegisterPicRequest : SFRequest
    {
        /// <summary>
        /// 
        /// </summary>
        public MsgDataRequestLtlRegisterPic msgData { set; get; }
    }
    /// <summary>
    /// 图片注册推送（快运API-运单查询推送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestLtlRegisterPic
    {
        /// <summary>
        /// 客户订单号
        /// 是
        /// String(32)
        /// </summary>
        public string orderId { set; get; }
        /// <summary>
        /// 运单号
        /// 是
        /// String(32)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 图片类型，具体枚举见【订单接入>图片查询】文档
        /// 是
        /// Array(String)
        /// </summary>
        public string[] imageTypes { set; get; }
        /*
        请求示例(msgData部分数据）

        {
                "orderId": "1631013393",
                "waybillNo": "SF1030355083520",
                "imageTypes": [
                    "68"
                ]
            }
        */
    }
    /// <summary>
    /// 图片注册推送（快运API-运单查询推送类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseLtlRegisterPic
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// CP接收数据是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /*
        2.3.响应参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功
        响应参数示例：

        {
            "success": true
        } 
        */
    }

    #endregion 图片注册推送

    #region 图片推送

    /// <summary>
    /// 图片推送（快运API-运单查询推送类） 业务数据请求报文
    /// </summary>
    public class LtlImageRequest : SFRequest
    {
        /// <summary>
        /// 
        /// </summary>
        public MsgDataRequestLtlImage msgData { set; get; }
    }
    /// <summary>
    /// 图片推送（快运API-运单查询推送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestLtlImage
    {
        /// <summary>
        /// 客户订单号
        /// 是
        /// String(32)
        /// </summary>
        public string orderId { set; get; }
        /// <summary>
        /// 运单号
        /// 是
        /// String(32)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 图片信息列表
        /// 是
        /// Array(PushImageInfo)
        /// </summary>
        public List<PushImageInfo> imageInfoList { set; get; }
        /*
        请求示例(msgData部分数据）

        {
            "imageInfoList": [{
                "amount": 3,
                "imageType": "68",
                "imageUrlInfoList": [{
                    "fileName": "SF1030355083520_21090719463967868.png",
                    "token": "AUTH_tkv12_c7adb0361b93f1b706aa01b129e912fe4e8fca1cf47c5e7d6664ab1b9d1fbb95f76847fb6f267889389539774af3ed4d6b12325c9cd2e766c71bf0fd852d3372a80e49225354fdc517e7b7d09119e7f04aed384d860fefffb39945e5428d2fdd6e73a7554232bcd464ffa25e5594b233685f3e77ce5c3aadc90202126bc7d274385854593beded69a063922afd26036b",
                    "url": "http://sit-fop-chan-api-shenzhen-xili1.osssit.sfcloud.local:8080/v1.2/AUTH_sit-FOP-CHAN-API/IMAGE_PUSH/SF1030355083520_21090719463967868.png",
                    "urlExpires": "1631101599746"
                }, {
                    "fileName": "SF1030355083520_21090719463974668.png",
                    "token": "AUTH_tkv12_c7adb0361b93f1b706aa01b129e912fe4e8fca1cf47c5e7d6664ab1b9d1fbb95f76847fb6f267889389539774af3ed4d6b12325c9cd2e766c71bf0fd852d3372a80e49225354fdc517e7b7d09119e7f04aed384d860fefffb39945e5428d2fdd6e73a7554232bcd464ffa25e5594b2338c8f145564488616baebbc9678fe3a941fed05eb682c1ca52cb2d8d4bfca5375",
                    "url": "http://sit-fop-chan-api-shenzhen-xili1.osssit.sfcloud.local:8080/v1.2/AUTH_sit-FOP-CHAN-API/IMAGE_PUSH/SF1030355083520_21090719463974668.png",
                    "urlExpires": "1631101599815"
                }, {
                    "fileName": "SF1030355083520_21090719463981568.png",
                    "token": "AUTH_tkv12_c7adb0361b93f1b706aa01b129e912fe4e8fca1cf47c5e7d6664ab1b9d1fbb95f76847fb6f267889389539774af3ed4d6b12325c9cd2e766c71bf0fd852d3372a80e49225354fdc517e7b7d09119e7f04aed384d860fefffb39945e5428d2fdd6e73a7554232bcd464ffa25e5594b2339368153403759f76d9fe8321896af0c9d58e91c52048334c2bb8fbc9285b2104",
                    "url": "http://sit-fop-chan-api-shenzhen-xili1.osssit.sfcloud.local:8080/v1.2/AUTH_sit-FOP-CHAN-API/IMAGE_PUSH/SF1030355083520_21090719463981568.png",
                    "urlExpires": "1631101599870"
                }]
            }],
            "orderId": "1631013393",
            "waybillNo": "SF1030355083520"
        }
        顺丰外网图片获取：

        GET请求访问url，且header头加X-Auth-token参数，值为token
        
        2.3. 响应参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	CP接收数据是否成功
        响应示例

        {
            "success": true
        } 
        */
    }
    /// <summary>
    /// 图片推送（快运API-运单查询推送类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseLtlImage
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// CP接收数据是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
    }

    #endregion 图片推送

    #region 路由查询

    /// <summary>
    /// 路由查询（快运API-运单查询推送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestLtlSearchRouter
    {
        /// <summary>
        /// 1.根据运单号查询 2：根据客户订单号查询
        /// 是
        /// Number(2)
        /// </summary>
        public int trackingType { set; get; }
        /// <summary>
        /// 如果tracking_type=1，则此值为顺丰运单号 如果trackingType=2，则此值为客户订单号 如果有多个单号，以逗号分隔，如”123,124,125”
        /// 是
        /// String(4000)
        /// </summary>
        public string trackingNumber { set; get; }
        /// <summary>
        /// 路由查询类别： 1：标准路由查询
        /// 是
        /// Number(1)
        /// </summary>
        public int methodType { set; get; }
        /// <summary>
        /// 校验电话号码后四位
        /// 否
        /// String(200)
        /// </summary>
        public string checkPhoneNo { set; get; }
        /*
        请求示例(msgData部分数据）

        {
                "checkPhoneNo": "",
                "methodType": 1,
                "trackingNumber": "SF1324403377261, LIS_21080500001QWhna, LIS_21080500001QWhnzf",
                "trackingType": 1
            }
        */
    }
    /// <summary>
    /// 路由查询（快运API-运单查询推送类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseLtlSearchRouter
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 业务对象
        /// 否
        /// Obj
        /// </summary>
        public LtlSearchRouterObj obj { set; get; }
        /*
        2.3.响应参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功
        obj	Obj	O	业务对象
        业务对象

        属性名	参数类型	Required/Optional	描述
        waybillNo	String(30)	Y	运单号
        orderId	String(64)	O	订单号
        routeList	Array	O	路由信息Route的集合
        Route

        属性名	参数类型	Required/Optional	描述
        acceptTime	String(19)	R	路由节点发生的时间，格式：YYYY-MM-DD HH24:MM:SS，示例：2012-07-30 09:30:00。
        acceptAddress	String(100)	R	路由节点发生的地点
        remark	String(150)	R	路由节点具体描述
        opcode	String(20)	R	路由节点操作码
        响应示例

        {
            "obj": [
                {
                    "mailNo": "SF1324403377261",
                    "routeList": [
                        {
                            "acceptAddress": "深圳市",
                            "acceptTime": "2021-10-28 16:46:19",
                            "opCode": "50",
                            "remark": "顺丰速运 已收取快件"
                        },
                        {
                            "acceptAddress": "深圳市",
                            "acceptTime": "2021-10-28 16:47:02",
                            "opCode": "99",
                            "remark": "应客户要求,快件正在退回中"
                        },
                        {
                            "acceptAddress": "深圳市",
                            "acceptTime": "2021-10-28 16:50:58",
                            "opCode": "99",
                            "remark": "应客户要求,快件正在转寄中"
                        }
                    ]
                }
            ],
            "success": true
        } 
        */
    }

    #endregion 路由查询

    #region 路由推送

    /// <summary>
    /// 路由推送（快运API-运单查询推送类） 业务数据返回报文
    /// </summary>
    public class LtlRouterRequest : SFRequest
    {
        /// <summary>
        /// 
        /// </summary>
        public MsgDataRequestLtlRouter msgData { set; get; }
    }
    /// <summary>
    /// 路由推送（快运API-运单查询推送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestLtlRouter
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String(30)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 外部订单号
        /// 否
        /// String(30)
        /// </summary>
        public string orderId { set; get; }
        /// <summary>
        /// 路由节点发生的时间，格式：YYYY-MM-DD HH24:MM:SS，示例：2012-07-30 09:30:00。
        /// 是
        /// String(19)
        /// </summary>
        public string acceptTime { set; get; }
        /// <summary>
        /// 路由节点发生的城市
        /// 是
        /// String(100)
        /// </summary>
        public string acceptCity { set; get; }
        /// <summary>
        /// 路由节点具体描述
        /// 是
        /// String(150)
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 路由节点操作码，常用的有以下：54=上门收件,50=完成揽收,30=装车,36-封车，31=卸车, 302=发车，70=问题件，204=开始派件,80=已妥投
        /// 是
        /// String(20)
        /// </summary>
        public string opCode { set; get; }
        /// <summary>
        /// 异常原因代码，如70异常操作码下有很多细分(有天气异常，交通异常…)，常用的有：取消寄件(opCode=70，stayWhyCode=46)
        /// 是
        /// String(20)
        /// </summary>
        public string stayWhyCode { set; get; }
        /// <summary>
        /// 路由唯一ID
        /// 是
        /// String(64)
        /// </summary>
        public string uniqueId { set; get; }
        /*
        请求示例

        {
            "acceptCity": "深圳市",
            "acceptTime": "2019-09-27 17:10:22",
            "opCode": "50",
            "orderId": "817674447",
            "remark": "顺丰速运 已收取快件",
            "waybillNo": "SF1011330100358",
            "uniqueId":"-16516277750"
        }
        */
    }
    /// <summary>
    /// 路由推送（快运API-运单查询推送类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseLtlRouter
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// CP接收数据是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /*
        2.3. 返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	CP接收数据是否成功
        响应示例

        {
            "success": true
        }
        */
    }

    #endregion 路由推送

    #region 清单费用推送

    /// <summary>
    /// 清单费用推送（快运API-运单查询推送类） 业务数据请求报文
    /// </summary>
    public class LtlFeeRequest : SFRequest
    { 
        /// <summary>
        /// 
        /// </summary>
        public MsgDataRequestLtlFee msgData { set; get; }
    }
    /// <summary>
    /// 清单费用推送（快运API-运单查询推送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestLtlFee
    {
        /// <summary>
        /// 订单号
        /// 是
        /// String(100)
        /// </summary>

        public string orderNo { set; get; }
        /// <summary>
        /// 运单号
        /// 是
        /// String(100)
        /// </summary>

        public string waybillNo { set; get; }
        /// <summary>
        /// 子单号  多个用逗号隔开
        /// 否
        /// String(100)
        /// </summary>

        public string childNos { set; get; }
        /// <summary>
        /// 月结账号
        /// 否
        /// String(100)
        /// </summary>

        public string customerAcctCode { set; get; }
        /// <summary>
        /// 计费重量
        /// 是
        /// String(100)
        /// </summary>

        public string meterageWeightQty { set; get; }
        /// <summary>
        /// 实际重量
        /// 是
        /// String(100)
        /// </summary>

        public string realWeightQty { set; get; }
        /// <summary>
        /// 产品名称
        /// 是
        /// String(100)
        /// </summary>

        public string productName { set; get; }
        /// <summary>
        /// 包裹数
        /// 是
        /// String(100)
        /// </summary>

        public string quantity { set; get; }
        /// <summary>
        /// 体积
        /// 否
        /// String(100)
        /// </summary>

        public string volume { set; get; }
        /// <summary>
        /// 总金额
        /// 是
        /// String(100)
        /// </summary>

        public string totalFee { set; get; }
        /// <summary>
        /// 费用 List形式
        /// 否
        /// List
        /// </summary>

        public List<FeeInfo> feeList { set; get; }
        /*
        2.3. 返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	CP接收数据是否成功
        请求示例

        {
            "waybillNo": "444069129271",
            "customerAcctCode": "9999999999",
            "childNos": "002803693071,002803693099,002803693080",
            "orderNo": "1dc300ee-d5bb-465f-86ed-f3f82a326153",
            "meterageWeightQty": 12.5,
            "realWeightQty":6.8,
            "totalFee":14.2,
            "volume": 0,
            "quantity": 4,
            "feeList": [
                {
                    "bizOwnerZoneCode": "755A",
                    "currencyCode": "CNY",
                    "customerAcctCode": "9999999999",
                    "feeAmt": 1,
                    "feeAmtInd": 1,
                    "feeIndType": 0,
                    "feeTypeCode": "3",
                    "gatherEmpCode": "000212",
                    "gatherZoneCode": "755A",
                    "paymentChangeTypeCode": "0",
                    "paymentTypeCode": "1",
                    "serviceId": -1,
                    "settlementTypeCode": "2",
                    "versionNo": 0,
                    "waybillId": -1,
                    "waybillNo": "444069129271"
                },
                {
                    "bizOwnerZoneCode": "755A",
                    "currencyCode": "CNY",
                    "customerAcctCode": "9999999999",
                    "feeAmt": 13.2,
                    "feeAmtInd": 13.2,
                    "feeIndType": 0,
                    "feeTypeCode": "1",
                    "gatherEmpCode": "000212",
                    "gatherZoneCode": "755A",
                    "inputTm": 1545203801000,
                    "paymentChangeTypeCode": "0",
                    "paymentTypeCode": "1",
                    "settlementTypeCode": "2",
                    "versionNo": 0,
                    "waybillId": -1,
                    "waybillNo": "444069129271"
                }
            ],
            "productName": "标准快递"
        }
        响应示例

        {
            "success": true
        }
        */
    }
    /// <summary>
    /// 清单费用推送（快运API-运单查询推送类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseLtlFee
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// CP接收数据是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /*
        2.3. 返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	CP接收数据是否成功
        响应示例

        {
            "success": true
        }
        */
    }

    #endregion 清单费用推送

    #region 清单费用查询

    /// <summary>
    /// 清单费用查询（快运API-运单查询推送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestLtlQueryFee
    {
        /// <summary>
        /// 根据客户订单号查询
        /// 是
        /// 
        /// </summary>
        public string orderId { set; get; }
        /*
        请求示例

        {
	        "orderId":"EP1233232323242"
        }
        */
    }
    /// <summary>
    /// 清单费用查询（快运API-运单查询推送类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseLtlQueryFee
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /*
        2.3. 响应参数
        参考接口(清单费用推送)的响应参数

        响应示例

        参考接口(清单费用推送)的响应示例 
        */
    }

    #endregion 清单费用查询

    #endregion 运单查询推送类

    #region 业务查询类

    #region 订单筛单接口

    /// <summary>
    /// 订单筛单接口（快运API-业务查询类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestAddressReachableCheck
    {
        /// <summary>
        /// 1：寄件(用户维度：寄件，小哥维度：收件) 2：收件(用户维度：收件，小哥维度：派件)
        /// 是
        /// Int(1)
        /// </summary>
        public int addressType { set; get; }
        /// <summary>
        /// 省
        /// 是
        /// String（32）
        /// </summary>
        public string province { set; get; }
        /// <summary>
        /// 市
        /// 是
        /// String（64）
        /// </summary>
        public string city { set; get; }
        /// <summary>
        /// 区
        /// 否
        /// String（64）
        /// </summary>
        public string district { set; get; }
        /// <summary>
        /// 详细地址
        /// 否
        /// String（128）
        /// </summary>
        public string address { set; get; }
        /*
        请求示例

        {
                "province": "新疆维吾尔自治区",
                "city": "乌鲁木齐市",
                "district": "乌鲁木齐县",
                "address": "南河路南十五巷",
                "addressType": "1"
    
        }
        2.3.响应参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功
        obj	Obj	O	业务对象
        业务对象

        属性名	参数类型	R/O	描述
        reachable	Int(1)	R	1 可达;2 不可达;3 无法推断
        resultMsg	String（32）	O	结果信息
        响应示例

        {
            "obj": {
                "reachable": 1,
                "resultMsg": "town reach"
            },
            "success": true
        } 
        */
    }
    /// <summary>
    /// 订单筛单接口（快运API-业务查询类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseAddressReachableCheck
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 业务对象
        /// 否
        /// Obj
        /// </summary>
        public AddressReachableCheckObj obj { set; get; }
        /*
        2.3.响应参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功
        响应示例
        
        {
            "apiErrorMsg":"",
            "apiResponseID":"0001927FAA610A3FE18641C02A38413F",
            "apiResultCode":"A1000",
            "apiResultData":"{\"obj\":{\"reachable\":3,\"resultMsg\":\"town is null\"},\"success\":true}"
        }

        {
            "obj": {
                "reachable": 1,
                "resultMsg": "town reach"
            },
            "success": true
        } 
        */
    }

    #endregion 订单筛单接口

    #region 标准产品询价

    /// <summary>
    /// 标准产品询价（快运API-业务查询类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestProductruleCheckPrice
    {
        /// <summary>
        /// 寄方省信息，此表收寄方均为用户角度
        /// 是 
        /// String(30)
        /// </summary>
        public string senderProvince { set; get; }
        /// <summary>
        /// 寄方城市信息
        /// 是 
        /// String(30)
        /// </summary>
        public string senderCity { set; get; }
        /// <summary>
        /// 寄方区县信息
        /// 否 
        /// String(30)
        /// </summary>
        public string senderDistrict { set; get; }
        /// <summary>
        /// 寄方详细信息(注意：有些地区不是全区可达时，这个字段要传入详细地址)
        /// 是 
        /// String(200)
        /// </summary>
        public string senderAddress { set; get; }
        /// <summary>
        /// 收方省信息
        /// 是 
        /// String(30)
        /// </summary>
        public string receiverProvince { set; get; }
        /// <summary>
        /// 收方城市信息
        /// 是 
        /// String(30)
        /// </summary>
        public string receiverCity { set; get; }
        /// <summary>
        /// 收方区县信息
        /// 否
        /// String(30)
        /// </summary>
        public string receiverDistrict { set; get; }
        /// <summary>
        /// 收方详细信息(注意：有些地区不是全区可达时，这个字段要传入详细地址)
        /// 否
        /// String(200)
        /// </summary>
        public string receiverAddress { set; get; }
        /// <summary>
        /// 是否郊区件
        /// 否
        /// Boolean
        /// </summary>
        public bool suburbFlg { set; get; }
        /// <summary>
        /// 产品类型
        /// 否
        /// String(10)
        /// </summary>
        public string productCode { set; get; }
        /// <summary>
        /// 支付币种,默认为CN
        /// 否
        /// String(30)
        /// </summary>
        public string currencyType { set; get; } = "CN";
        /// <summary>
        /// 实际重量(kg)，weight、size和declareValue必须传一个，否则无法计算运费
        /// 否
        /// Number(10, 3)
        /// </summary>
        public double weight { set; get; }
        /// <summary>
        /// 长+宽+高之和(cm)
        /// 否
        /// Number(10, 3)
        /// </summary>
        public double size { set; get; }
        /// <summary>
        /// 声明价值
        /// 否
        /// Number(10, 3)
        /// </summary>
        public double declareValue { set; get; }
        /// <summary>
        /// 体积（立方厘米），如果传了就会用来计算轻抛重量
        /// 否
        /// Number(10, 3)
        /// </summary>
        public double volume { set; get; }
        /// <summary>
        /// 寄件时间，格式：yyyy-MM-dd HH:mm:ss
        /// 否
        /// String (20)
        /// </summary>
        public string consignedTm { set; get; }
        /*
        说明：
        快运产品代码

        产品类型	描述	说明
        SE0100	重货包裹	适用重量20~100KG的产品
        SE0101	标准零担	适用重量100~500KG的产品
        SE0114	大票直送	适用重量500~3T的产品
        SE0020	整车直达	适用重量3T以上产品，需接入整车下单接口
        S1	顺丰特快	适用重量20KG以下小件产品
        S2	顺丰标快	适用重量20KG以下小件产品
        SE0122	特惠专配	适用特惠服务商家
        SE0091	专线普运	专线普运
        SE0130	特惠件	特惠件
        SE010101	纯重特配	纯重特配
        请求示例

        {
          "senderAddress": "高新南九道软件产业基地1栋C座17楼",
          "senderProvince": "广东省",
          "senderCity": "深圳市",
          "senderDistrict": "南山区",
          "receiverAddress": "梅林街道梅山街梅山苑二期5栋",
          "receiverProvince": "广东省",
          "receiverCity": "深圳市",
          "receiverDistrict": "福田区",
          "suburbFlg": false,
          "productCode":"SE0100",
          "currencyType": "CNY",
          "weight":20
        }
        */
    }
    /// <summary>
    /// 标准产品询价（快运API-业务查询类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseProductruleCheckPrice
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 业务对象
        /// 否
        /// Obj
        /// </summary>
        public ProductruleCheckPriceObj obj { set; get; }
        /*
        2.3. 返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功
        obj	Object	O	返回数据
        属性名	参数类型	Required/Optional	描述
        totalPrice	Number(10, 3)	O	总运费
        currencyType	String(30)	O	付款货币类型，如果为空则是付款国的币种
        rate	Number(10, 3)	O	汇率
        响应示例

        {
	        "obj": {
		        "currencyType": "CNY",
		        "totalPrice": 38.0
	        },
	        "success": true
        } 
        错误代码：

        业务类型代码	时效类型代码
        002	产品不适用于原寄地网点
        003	无法加载流向信息
        004	产品不适用此增值服务
        005	产品不支持此付款方式
        006	产品不支持此尺寸
        020	第三方物流公司不可达
        */
    }

    #endregion 标准产品询价

    #region 图片注册推送

    /// <summary>
    /// 图片注册推送（快运API-业务查询类） 业务数据请求报文
    /// </summary>
    public class LtlRegisterRouterRequest : SFRequest
    { 
        /// <summary>
        /// 
        /// </summary>
        public MsgDataRequestLtlRegisterRouter msgData { set; get; }
    }
    /// <summary>
    /// 图片注册推送（快运API-业务查询类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestLtlRegisterRouter
    {
        /// <summary>
        /// 客户订单号
        /// 是
        /// String(32)
        /// </summary>
        public string orderId { set; get; }
        /// <summary>
        /// 运单号
        /// 是
        /// String(32)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 图片类型，具体枚举见【订单接入>图片查询】文档
        /// 是
        /// Array(String)
        /// </summary>
        public string[] imageTypes { set; get; }
        /*	
        请求示例(msgData部分数据）

        {
                "orderId": "1631013393",
                "waybillNo": "SF1030355083520",
                "imageTypes": [
                    "68"
                ]
            }
        2.3.响应参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功
        响应参数示例：

        {
            "success": true
        } 
        */
    }
    /// <summary>
    /// 图片注册推送（快运API-业务查询类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseLtlRegisterRouter
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// CP接收数据是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /*
        2.3. 返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	CP接收数据是否成功
        响应示例

        {
            "success": true
        }
        */
    }

    #endregion 图片注册推送

    #region 大件跨境路由-运单查询

    /// <summary>
    /// 大件跨境路由-运单查询（快运API-业务查询类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestIfosWaybillRouteFindOrder
    {
        /// <summary>
        /// SF运单号
        /// 是
        /// String(32)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 运单下单时间
        /// 否
        /// String(32)
        /// </summary>
        public string orderTime { set; get; }
        /*
        请求实例（msgData部分）

        {
	        "waybillNo": "SF1020128167572",
	        "orderTime": "2023-03-01 22:20"
        }
        */
    }
    /// <summary>
    /// 大件跨境路由-运单查询（快运API-业务查询类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseIfosWaybillRouteFindOrder
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 业务对象
        /// 否
        /// Obj
        /// </summary>
        public IfosWaybillRouteFindOrderObj obj { set; get; }
        /*
        2.3 响应结果
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        obj	Obj	O	业务对象(见下)
        success	Boolean	R	是否成功
        业务对象(obj)

        属性名	参数类型	Required/Optional	描述
        waybillNo	String	R	运单号
        cargoVolume	BigDecimal	O	货物体积cm3
        cargoWeight	BigDecimal	O	货物重量kg
        cargoAmount	Integer	O	货物数量
        expectDeliveryTime	Date	O	签收时间或者预计派件时间（与timeTag配合使用）
        orderStatus	String	O	运单状态：10:已揽收，20:运输中，50：已签收
        payMethod	String	O	付款方式
        senderCity	String	R	发件城市
        receiverCity	String	R	收件城市
        routeInfos	Array	O	路由信息(obj Array见下)
        timeTag	String	O	对expectDeliveryTime字段的说明
        waybillAmount	Integer	O	转单号数量
        subWaybillNos	Array	O	转单号集合
        waybillReceived	Integer	O	转单号签收的数量
        waybillTransporting	Integer	O	转单号在运输中的数量
        waybillDelivering	Integer	O	转单号在派件中的数量
        路由信息(routeInfos)

        属性名	参数类型	Required/Optional	描述
        info	String	R	路由描述
        status	Integer	R	运单状态：10:已揽收，20:运输中，50：已签收
        statusDesc	String	R	状态描述
        time	Date	R	路由时间
        返回结果

        {
            "business": null,
            "date": 1678676431184,
            "errorCode": null,
            "errorMessage": null,
            "obj": {
                "cargoAmount": 1,
                "cargoVolume": 0.027,
                "cargoWeight": 33,
                "expectDeliveryTime": 1671622140000,
                "orderStatus": "50",
                "payMethod": "月结",
                "receiverCity": "Sir y Fflint - Flintshire",
                "routeInfos": [
                    {
                        "info": "货物已签收",
                        "opCode": "980",
                        "status": 50,
                        "statusDesc": "已签收",
                        "time": 1671622140000
                    },
                    {
                        "info": "境外承运商【UPS】已揽收包裹",
                        "opCode": "926",
                        "status": 20,
                        "statusDesc": "运输中",
                        "time": 1672137660000
                    },
                    {
                        "info": "预计落地时间(ETA)为【2023-02-25】",
                        "opCode": "926",
                        "status": 20,
                        "statusDesc": "运输中",
                        "time": 1677290156000
                    },
                    {
                        "info": "航班已起飞，起飞时间为【2023-02-20】",
                        "opCode": "926",
                        "status": 20,
                        "statusDesc": "运输中",
                        "time": 1676858156000
                    },
                    {
                        "info": "航班预计起飞时间(ETD)为【2023-02-19】",
                        "opCode": "926",
                        "status": 20,
                        "statusDesc": "运输中",
                        "time": 1676771756000
                    },
                    {
                        "info": "航班已录入，为【MANUKAI 457E】",
                        "opCode": "926",
                        "status": 20,
                        "statusDesc": "运输中",
                        "time": 1677135662000
                    },
                    {
                        "info": "转单号：【1Z7709XW0394043193;1Z8174V40300279941】",
                        "opCode": "926",
                        "status": 20,
                        "statusDesc": "运输中",
                        "time": 1677135662000
                    }
                ],
                "senderCity": "上海市",
                "subWaybillNos": [
                    "1Z7709XW0394043193",
                    "1Z8174V40300279941"
                ],
                "timeTag": "签收时间",
                "waybillAmount": 2,
                "waybillDelivering": 0,
                "waybillNo": "SF1020128167572",
                "waybillReceived": 1,
                "waybillTransporting": 1
            },
            "success": true
        } 
        */
    }

    #endregion 大件跨境路由-运单查询

    #region 大件跨境路由-查询转单号路由

    /// <summary>
    /// 大件跨境路由-查询转单号路由（快运API-业务查询类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestIfosWaybillRouteChildren
    {
        /// <summary>
        /// SF运单号
        /// 是
        /// String
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 下单时间
        /// 否
        /// String
        /// </summary>
        public string orderTime { set; get; }
        /*
        请求实例（msgData部分）

        {
	        "waybillNo": "1Z7709XW0394043193",
	        "orderTime": "2023-03-01 22:20"
        }
        */
    }
    /// <summary>
    /// 大件跨境路由-查询转单号路由（快运API-业务查询类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseIfosWaybillRouteChildren
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 业务对象
        /// 否
        /// Obj
        /// </summary>
        public List<RouteInfo> obj { set; get; }
        /*
        2.3 返回结果
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功
        obj	Array	O	业务对象(obj Array)
        业务对象（obj）

        属性名	参数类型	Required/Optional	描述
        info	String	R	路由描述
        status	Integer	R	运单状态：10:已揽收，20:运输中，50：已签收
        statusDesc	String	R	状态描述
        time	Date	R	路由时间
        返回结果

        {
            "business": null,
            "date": 1678432221053,
            "errorCode": null,
            "errorMessage": null,
            "obj": [
                {
                    "info": "货物已签收",
                    "opCode": "980",
                    "status": 50,
                    "statusDesc": "已签收",
                    "time": 1671622140000
                },
                {
                    "info": "Hodgkins, IL, US, Germany, The shipment has been delivered directly from the parcel center to the business customer.",
                    "opCode": "926",
                    "status": 20,
                    "statusDesc": "运输中",
                    "time": 1672137660000
                },
                {
                    "info": "Hodgkins, IL, US, Germany, SORTED business customer.",
                    "opCode": "926",
                    "status": 20,
                    "statusDesc": "运输中",
                    "time": 1672137660000
                },
                {
                    "info": "Hodgkins, IL, US, Osterweddingen, Germany, The shipment arrived in the region of recipient and will be transported to the delivery base in the next step.",
                    "opCode": "926",
                    "status": 20,
                    "statusDesc": "运输中",
                    "time": 1672106990000
                },
                {
                    "info": "Hodgkins, IL, US, Arrived at Facility",
                    "opCode": "926",
                    "status": 20,
                    "statusDesc": "运输中",
                    "time": 1671995100000
                },
                {
                    "info": "Los Angeles, CA, US, Departed from Facility",
                    "opCode": "926",
                    "status": 20,
                    "statusDesc": "运输中",
                    "time": 1671622140000
                }
            ],
            "success": true
        } 
        */
    }

    #endregion 大件跨境路由-查询转单号路由

    #region 大件跨境路由-查询母单的转单号列表

    /// <summary>
    /// 大件跨境路由-查询母单的转单号列表（快运API-业务查询类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestIfosWaybillRouteFindChildren
    {
        /// <summary>
        /// SF运单号
        /// 是
        /// String
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 下单时间
        /// 否
        /// String
        /// </summary>
        public string orderTime { set; get; }
        /*
        请求实例（msgData部分）

        {
	        "waybillNo": "SF1020128167572",
	        "orderTime": "2023-03-01 22:20"
        }
        */
    }
    /// <summary>
    /// 大件跨境路由-查询母单的转单号列表（快运API-业务查询类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseIfosWaybillRouteFindChildren
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 业务对象
        /// 否
        /// Obj
        /// </summary>
        public IfosWaybillRouteFindChildrenObj obj { set; get; }
        /*
        2.3 返回结果
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功
        obj	Obj	O	业务对象
        业务对象（obj）

        属性名	参数类型	Required/Optional	描述
        receiverCity	String	R	收货城市
        senderCity	String	R	发货城市
        waybillAmount	Integer	R	转单号数量
        waybillDelivering	Integer	O	转单号在派件中的数量
        waybillReceived	Integer	O	转单号签收的数量
        waybillTransporting	Integer	O	转单号在运输中的数量
        childrenList	Array	O	转单号信息
        转单号信息(childrenList)

        属性名	参数类型	Required/Optional	描述
        orderStatus	Integer	R	运单状态：10:已揽收，20:运输中，50：已签收
        receiverCity	String	R	收货城市
        senderCity	String	R	发货城市
        waybillNo	String	R	转单号
        返回结果

        {
            "business": null,
            "date": 1678678287987,
            "errorCode": null,
            "errorMessage": null,
            "obj": {
                "childrenList": [
                    {
                        "orderStatus": "50",
                        "receiverCity": "Sir y Fflint - Flintshire",
                        "senderCity": "上海市",
                        "waybillNo": "1Z7709XW0394043193"
                    },
                    {
                        "orderStatus": "20",
                        "receiverCity": "Sir y Fflint - Flintshire",
                        "senderCity": "上海市",  
                        "waybillNo": "1Z8174V40300279941"
                    }
                ],
                "receiverCity": "Sir y Fflint - Flintshire",
                "senderCity": "上海市",
                "waybillAmount": 2,
                "waybillDelivering": 0,
                "waybillNo": "SF1020128167572",
                "waybillReceived": 1,
                "waybillTransporting": 1
            },
            "success": true
        } 
        */
    }

    #endregion 大件跨境路由-查询母单的转单号列表

    #endregion 业务查询类

    #region 安装服务类

    #region 运单追加安装服务

    /// <summary>
    /// 运单追加安装服务（快运API-安装服务类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestFisAppendOrder
    {
        /// <summary>
        /// 顺丰运单号
        /// 是
        /// String(50)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 来源订单号
        /// 否
        /// String(255)
        /// </summary>
        public string outerOrderId { set; get; }
        /// <summary>
        /// 服务方式: 1仅安装，2提货+安装
        /// 是	
        /// String(20)
        /// </summary>
        public string installTypeCode { set; get; }
        /// <summary>
        /// 订单来源商铺名称
        /// 否
        /// String(64)
        /// </summary>
        public string shopName { set; get; }
        /// <summary>
        /// 备注
        /// 否
        /// String(200)
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 安装品类信息
        /// 是
        /// List<Cargo>
        /// </summary>
        public List<CargoListInfo> cargoList { set; get; }
        /*
        1.3.3 请求示例
        请求报文:（msgData字段）:

        {
          "waybillNo": "SF12345678910",
          "cargoList": [
            {
              "count": 1,
              "standServiceName": "儿童学习桌",
              "standServiceCode": "8893536",
              "cusServiceName": "",
              "cusServiceCode": ""
            }
          ],
          "installTypeCode": "1",
          "shopName": "淘宝",
          "outerOrderId": "15645616548489461",
          "remark": "安装备注"
        }
        */
    }
    /// <summary>
    /// 运单追加安装服务（快运API-安装服务类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseFisAppendOrder
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 业务对象
        /// 否
        /// Obj
        /// </summary>
        public FisAppendOrderObj obj { set; get; }
        /*
        1.4 公共响应参数
        #	属性名	类型(约束)	必填	默认值	描述
        1	apiResultCode	String(10)	是		API平台结果代码
        2	apiErrorMsg	String(200)	否		API平台异常信息
        3	apiResponseID	String(40)	是		API响应唯一号UUID
        4	apiResultData	String	是		业务处理详细结果
        1.4.1 元素<响应> apiResultData
        #	属性名	类型(约束)	必填	默认值	描述
        1	success	String	是		true 请求成功，false 请求失败
        2	errorCode	String	否		错误编码，success = false时返回
        3	errorMessage	String	否		错误描述 , success = false时返回
        4	obj	Object	是		返回的详细数据
        1.4.2 元素<响应> obj
        #	属性名	类型(约束)	必填	默认值	描述
        1	installOrderId	String(64)	是		安装订单号
        2	installFee	Double	是		安装费，保留2位小数
        1.4.3 返回示例\应用场景(JSON)示例
        响应报文:

        成功响应:
        {
            "apiErrorMsg": "",
            "apiResponseID": "0001727E2494543FEA449BF48D24123F",
            "apiResultCode": "A1000",
            "apiResultData": {
                "success": true,
                "errorCode": null,
                "errorMsg": null,
                "obj": {
                    "installOrderId": "SF12345678910",
                    "installFee": "719"
                }
            }
        }
        失败响应：
        {
            "apiErrorMsg": "",
            "apiResponseID": "0001727E2494543FEA449BF48D24123F",
            "apiResultCode": "A1000",
            "apiResultData": {
                "success": false,
                "errorCode": "10003",
                "errorMsg": "未查询到运单号信息"
            }
        } 
        */
    }

    #endregion 运单追加安装服务

    #region 安装状态推送

    /// <summary>
    /// 安装状态推送（快运API-安装服务类） 业务数据请求报文
    /// </summary>
    public class FisInstallRouterRequest : SFRequest
    { 
        /// <summary>
        /// 
        /// </summary>
        public MsgDataRequestFisInstallRouter msgData { set; get; }
    }

    /// <summary>
    /// 安装状态推送（快运API-安装服务类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestFisInstallRouter
    {
        /// <summary>
        /// 顺丰运单号
        /// 是
        /// String(50)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 安装订单号
        /// 是
        /// String(64)
        /// </summary>
        public string installOrderId { set; get; }
        /// <summary>
        /// 操作码：
        /// OP000090：添加安装服务中
        /// OP000091：添加安装服务成功
        /// OP000092：添加安装服务失败
        /// OP000006：分配师傅
        /// OP000004：预约
        /// OP000000：提货
        /// OP000007：上门打卡
        /// OP000008：装前检查
        /// OP000001：完工
        /// OP000005：异常
        /// OP000080：安装取消
        /// OP000120：费用回传
        /// 是
        /// String(50)
        /// </summary>
        public string operateCode { set; get; }
        /// <summary>
        /// 师傅姓名，分配师傅及之后的节点会返回
        /// 否
        /// String(64)
        /// </summary>
        public string masterName { set; get; }
        /// <summary>
        /// 师傅联系方式，分配师傅及之后的节点会返回
        /// 否
        /// String(200)
        /// </summary>
        public string masterPhone { set; get; }
        /// <summary>
        /// 异常类型，当operateCode=OP000005时返回
        /// 1：预约异常
        /// 2：安装异常
        /// 3：其他异常
        /// 否
        /// Number(11)
        /// </summary>
        public int abnormalType { set; get; }
        /// <summary>
        /// 具体的异常内容，如：预约失败，联系不上客户
        /// 否
        /// String(200)
        /// </summary>
        public string abnormalContent { set; get; }
        /// <summary>
        /// 当operateCode=OP000008/OP000001时返回，回传装前检查/完工的图片列表
        /// 否
        /// List<String>
        /// </summary>
        public string[] imgUrls { set; get; }
        /// <summary>
        /// 操作时间，格式：yyyy-MM-dd HH:mm:ss
        /// 否
        /// String
        /// </summary>
        public string operateTime { set; get; }
        /// <summary>
        /// 预约时间，格式：yyyy-MM-dd HH:mm:ss ，当operateCode=OP000004时返回，表示,师傅与客户预约的上门安装时间
        /// 否
        /// String
        /// </summary>
        public string appTime { set; get; }
        /// <summary>
        /// 安装服务取消原因，当operateCode = OP000080时返回
        /// 否
        /// String(200)
        /// </summary>
        public string cancelReason { set; get; }
        /// <summary>
        /// 核销码，如果安装服务完工前需要收件人核销，在预约操作及之后的节点，会回传核销码
        /// 否
        /// String(200)
        /// </summary>
        public string confirmCode { set; get; }
        /// <summary>
        /// 当operateCode=OP000120时返回，订单总费用
        /// 否
        /// Double
        /// </summary>
        public double installFee { set; get; }
        /// <summary>
        /// 当operateCode=OP000120时返回，费用版本号，以最大的版本作为最新的费用
        /// 否
        /// int
        /// </summary>
        public int feeVersion { set; get; }
        /*	
        1.2.4 请求示例
        请求报文:（msgData字段）:

        {
          "waybillNo": "SF12345678910",
          "installOrderId": "SF12345678910",
          "operateCode": "OP000001",
          "masterName": "顺小丰",
          "masterPhone": "13344445555",
          "imgUrls": ["www.baidu.com","www.baidu.com"],
          "operateTime": "2023-05-20 15:59:00",
          "confirmCode": "123456"
        }
        */
    }
    /// <summary>
    /// 安装状态推送（快运API-安装服务类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseFisInstallRouter
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /*	
        1.3 响应参数，客户系统按此结构返回响应参数
        #	属性名	类型(约束)	必填	默认值	描述
        1	success	boolean	是		true 请求成功，false 请求失败 ,false时顺丰侧会进行重试
        2	errorCode	String	否		错误编码，success = false时返回
        3	errorMessage	String	否		错误描述 , success = false时返回
        1.3.1 返回示例\应用场景(JSON)示例
        响应报文:

        成功响应:
        {
                "success": true,
                "errorCode": null,
                "errorMsg": null  
   
        }
        失败响应
        {
                "success": false,
                "errorCode": "客户定义",
                "errorMsg": "客户定义"  
   
        } 
        */
    }

    #endregion 安装状态推送

    #region 取消安装服务

    /// <summary>
    /// 取消安装服务（快运API-安装服务类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestFisCancelInstall
    {
        /// <summary>
        /// 顺丰运单号
        /// 否
        /// String(50)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 安装订单号
        /// 否
        /// String(64)
        /// </summary>
        public string orderId { set; get; }
        /*	
        2.2.4 请求示例
        请求报文:（msgData字段）:

        {
          "waybillNo": "SF12345678910",
          "orderId": "SF12345678910"
        }
        */
    }
    /// <summary>
    /// 取消安装服务（快运API-安装服务类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseFisCancelInstall
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /*	
        1.3. 公共响应参数
        #	属性名	类型(约束)	必填	默认值	描述
        1	apiResultCode	String(10)	是		API平台结果代码
        2	apiErrorMsg	String(200)	否		API平台异常信息
        3	apiResponseID	String(40)	是		API响应唯一号UUID
        4	apiResultData	String	是		业务处理详细结果
        1.3.1 元素<响应> apiResultData
        #	属性名	类型(约束)	必填	默认值	描述
        1	success	boolean	是		true 请求成功，false 请求失败
        2	errorCode	String	否		错误编码，success = false时返回
        3	errorMessage	String	否		错误描述 , success = false时返回
        1.3.2 返回示例\应用场景(JSON)示例
        响应报文:

        成功响应:
        {
            "apiErrorMsg": "",
            "apiResponseID": "0001727E2494543FEA449BF48D24123F",
            "apiResultCode": "A1000",
            "apiResultData": {
                "success": true,
                "errorCode": null,
                "errorMsg": null
            }
        }
        失败响应：
        {
            "apiErrorMsg": "",
            "apiResponseID": "0001727E2494543FEA449BF48D24123F",
            "apiResultCode": "A1000",
            "apiResultData": {
                "success": false,
                "errorCode": "10010",
                "errorMsg": "运单已揽收，不可取消"
            }
        } 
        */
    }

    #endregion 取消安装服务

    #endregion 安装服务类

    #region 整车直达类

    #region 下单

    /// <summary>
    /// 下单（快运API-整车直达类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestTlCreateOrder
    {
        /// <summary>
        /// 客户订单号
        /// 是
        /// String(64)
        /// </summary>
        public string orderId { set; get; }
        /// <summary>
        /// 操作类型 1：下单
        /// 是
        /// Int
        /// </summary>
        public int operaterType { set; get; }
        /// <summary>
        /// 顺丰月结卡号,输入卡号的话，会校验卡号的有效性，当付款方式为1.寄付月结；2寄付转第三方时必填。
        /// 否
        /// String(20)
        /// </summary>
        public string custId { set; get; }
        /// <summary>
        /// 付款方式，支持以下值：1. 寄付月结 2. 寄付转第三方3. 寄付现结
        /// 是
        /// Int
        /// </summary>
        public int payMethod { set; get; }
        /// <summary>
        /// 是否生成运单号1：生成 其他：使用传入的运单号
        /// 否
        /// Int
        /// </summary>
        public int isGenWaybillNo { set; get; }
        /// <summary>
        /// 运单号，isGenWayBillNo不为1的时候，必须传
        /// 否
        /// String(20)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 寄件方公司名称
        /// 否
        /// String(100)
        /// </summary>
        public string sendCompany { set; get; }
        /// <summary>
        /// 寄件方联系人
        /// 是
        /// String(100)
        /// </summary>
        public string sendContact { set; get; }
        /// <summary>
        /// 寄件方手机
        /// 是
        /// String(20)
        /// </summary>
        public string sendMobile { set; get; }
        /// <summary>
        /// 寄件方所在省级行政区名称，必须标准的省级行政区名称。如：北京、广东省、广西壮族自治区等；此字段影响原寄地代码识别，建议尽可能传该字段的值。
        /// 否
        /// String(30)
        /// </summary>
        public string sendProvince { set; get; }
        /// <summary>
        /// 寄件方所在地级行政区名称，必须标准的城市名称。 如：北京市、深圳市、大理白族自治州等；
        /// 否
        /// String(100)
        /// </summary>
        public string sendCity { set; get; }
        /// <summary>
        /// 寄件人所在县/区级行政区名称，必须标准的县/区名称。如：福田区，南涧彝族自治县、准格尔旗等。
        /// 否
        /// String(30)
        /// </summary>
        public string sendCounty { set; get; }
        /// <summary>
        /// 寄件方详细地址如：新洲十一街万基商务大厦10楼
        /// 是
        /// String(200)
        /// </summary>
        public string sendAddress { set; get; }
        /// <summary>
        /// 要求提货时间，格式yyyy-MM-dd HH:mm:ss。例：2020-05-15 13:56:21
        /// 否
        /// String(20)
        /// </summary>
        public string reqDeliveryTime { set; get; }
        /// <summary>
        /// 到件方公司名称
        /// 否
        /// String(100)
        /// </summary>
        public string deliveryCompany { set; get; }
        /// <summary>
        /// 到件方联系人
        /// 是
        /// String(100)
        /// </summary>
        public string deliveryContact { set; get; }
        /// <summary>
        /// 到件方联系手机号
        /// 是
        /// String(100)
        /// </summary>
        public string deliveryMobile { set; get; }
        /// <summary>
        /// 到件方所在省级行政区名称，必须标准的省级行政区名称。如：北京、广东省、广西壮族自治区等；此字段影响目的地代码识别，建议尽可能传该字段的值。
        /// 否
        /// String(30)
        /// </summary>
        public string deliveryProvince { set; get; }
        /// <summary>
        /// 到件方所在地级行政区名称，必须标准的城市名称。如：北京市、深圳市、大理白族自治州等；此字段影响目的地代码识别，建议尽可能传该字段的值。
        /// 否
        /// String(100)
        /// </summary>
        public string deliveryCity { set; get; }
        /// <summary>
        /// 到件方所在县/区级行政区名称，必须标准的县/区名称。如：福田区，南涧彝族自治县、准格尔旗等。
        /// 否
        /// String(30)
        /// </summary>
        public string deliveryCounty { set; get; }
        /// <summary>
        /// 到件方详细地址
        /// 是
        /// String(200)
        /// </summary>
        public string deliveryAddress { set; get; }
        /// <summary>
        /// 托寄物品类，见附录4.1
        /// 2.1 托寄物品类
        /// 入参 说明
        /// 1	医药卫生
        /// 3	汽配
        /// 4	快消品
        /// 6	机具仪器
        /// 7	化工橡塑
        /// 8	服装鞋帽
        /// 9	电子产品
        /// 10	家电
        /// 11	家具
        /// 100	其他
        /// 否
        /// String(50)
        /// </summary>
        public string cargoType { set; get; }
        /// <summary>
        /// 包装方式，见附录4.2
        /// 2.2 包装方式
        /// 入参  说明
        /// 1	裸包装
        /// 2	膜包装
        /// 3	缓冲物包装
        /// 4	纸包装
        /// 5	木包装
        /// 6	其他
        /// 否
        /// String(50)
        /// </summary>
        public string packageType { set; get; }
        /// <summary>
        /// 货物名称，例：冰箱
        /// 否
        /// String(50)
        /// </summary>
        public string cargoName { set; get; }
        /// <summary>
        /// 总件数（货物件数）
        /// 否
        /// Int
        /// </summary>
        public int totalCargoQuantity { set; get; }
        /// <summary>
        /// 货物的总重量（kg）
        /// 否
        /// Number(10,3)
        /// </summary>
        public double totalCargoWeight { set; get; }
        /// <summary>
        /// 货物的总体积单位立方米
        /// 否
        /// Number(10,3)
        /// </summary>
        public double totalCargoVolume { set; get; }
        /// <summary>
        /// 车型（吨）,见附录：车型4.3
        /// 2.3 车型
        /// 入参 说明
        /// 1	载重1吨
        /// 1.5	载重1.5吨
        /// 3	载重3吨
        /// 5	载重5吨
        /// 7	载重7吨
        /// 14	载重14吨
        /// 20	载重20吨
        /// 30	载重30吨
        /// 否
        /// String(50)
        /// </summary>
        public string vehicleType { set; get; }
        /// <summary>
        /// 车辆类型，见附录：车辆类型4.4
        /// 2.4 车辆类型
        /// 入参 说明
        /// 002001	厢式运输车
        /// 002007	平板运输车
        /// 002011	中澳运输车
        /// 002012	海关监管运输车
        /// 002010	中港运输车
        /// 002004	冷藏车-双温
        /// 002005	冷藏车-单温
        /// 002006	药品运输冷藏车
        /// 002013	冷藏车
        /// 002024	高栏运输车
        /// 否
        /// String(50)
        /// </summary>
        public string carType { set; get; }
        /// <summary>
        /// 是否需要签回单。 1:需要(需要签回单业务请和对接人具体沟通)
        /// 否
        /// Int
        /// </summary>
        public int needTrackingReturn { set; get; }
        /// <summary>
        /// 订单揽收备注
        /// 否
        /// String(2000)
        /// </summary>
        public string receiveRemark { set; get; }
        /// <summary>
        /// 订单派送备注
        /// 否
        /// String(2000)
        /// </summary>
        public string deliveryRemark { set; get; }
        /// <summary>
        /// 指定收件员工号
        /// 否
        /// String(12)
        /// </summary>
        public string empCode { set; get; }
        /// <summary>
        /// 预计运费
        /// 否
        /// Number(10,3)
        /// </summary>
        public double price { set; get; }
        /// <summary>
        /// 货物见cargo
        /// 否
        /// Array
        /// </summary>
        public List<CargoBase> cargoes { set; get; }
        /// <summary>
        /// 经停点参见ExpectedStop
        /// 否
        /// Array
        /// </summary>
        public List<ExpectedStopInfo> expectedStops { set; get; }
        /// <summary>
        /// 增值服务
        /// 2.5 增值服务
        /// name    value value1  value2 value3  value4     说明
        /// INSURE	6000					                保价服务，value:声明价值（元）
        /// 否
        /// Array
        /// </summary>
        public List<AdditionService> additionServices { set; get; }
        /// <summary>
        /// 扩展字段，见ExtraInfo
        /// 否
        /// Array
        /// </summary>
        public List<ExtraInfo> extraInfos { set; get; }
    }
    /// <summary>
    /// 下单（快运API-整车直达类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseTlCreateOrder
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public TlCreateOrderObj obj { set; get; }
        /*
        返回参数

        属性名	类型（约束）	必填	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误原因
        obj	Object	N	返回对象
        Object

        属性名	类型（约束）	必填	描述
        orderId	String(64)	Y	客户订单号
        waybillNo	String(64)	N	运单号，需要生成运单号的时候，才会返回
        signBackWaybillNo	String(64)	N	需要签回单时会生成，回单号
        2.6 错误码列表
        错误码	描述
        80000	系统异常
        80001	签名错误
        80002	请求过期
        80003	非法参数
        80201	业务异常
        80500	请求超时
        80503	订单不存在 
        */
}

    #endregion 下单

    #region 取消订单 

    /// <summary>
    /// 取消订单（快运API-整车直达类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestTlCancelOrder
    {
        /// <summary>
        /// 客户订单号
        /// 是
        /// String(64)
        /// </summary>
        public string orderId { set; get; }
        /// <summary>
        /// 运单号，如果传入了，就会已运单号为准
        /// 否
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 操作人
        /// 否
        /// String(64)
        /// </summary>
        public string @operator { set; get; }
        /// <summary>
        /// 取消原因
        /// 否
        /// String(200)
        /// </summary>
        public string cancelReason { set; get; }
        /*
        输入参数

        属性名	类型（约束）	必填	描述
        orderId		Y	
        waybillNo	String(64)	N	
        operator	String(64)	N	
        cancelReason	String(200)	N	
        参数示例

        {
            "orderId":151515481213,
            "waybillNo":"SF24343455",
            "operator":"李丰田",
            "cancelReason":"15985841721"
        }
        */
    }
    /// <summary>
    /// 取消订单（快运API-整车直达类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseTlCancelOrder
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /*
        返回参数

        属性名	类型（约束）	必填	描述
        success	Boolean	Y	是否成功
        errorCode	String	N	错误代码
        errorMessage	String	N	错误原因
        2.6 错误码列表
        错误码	描述
        80000	系统异常
        80001	签名错误
        80002	请求过期
        80003	非法参数
        80201	业务异常
        80500	请求超时
        80503	订单不存在 
        */
    }

    #endregion 取消订单

    #region 订单状态推送

    //同 运单查询推送类—订单状态推送

    #endregion 订单状态推送

    #region 订单查询

    /// <summary>
    /// 订单查询（快运API-整车直达类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestTlSearchOrder
    {
        /// <summary>
        /// 客户订单号
        /// 是
        /// String(64)
        /// </summary>
        public string orderId { set; get; }
        /// <summary>
        /// 顺丰运单号
        /// 否
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /*
        请求参数

        属性名	参数类型	必填	描述
        orderId	String(64)	Y	客户订单号
        waybillNo	String(64)	N	顺丰运单号
        请求参数示例

        {
            "orderId": "817674447",
            "waybillNo": null
        }
        */
    }
    /// <summary>
    /// 订单查询（快运API-整车直达类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseTlSearchOrder
    {
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 是否成功
        /// 是
        /// Boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 返回对象
        /// 否
        /// Object
        /// </summary>
        public TlSearchOrderObj obj { set; get; }
        /*
        返回参数

        属性名	类型（约束）	必填	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误原因
        obj	Object	N	
        obj

        属性名	类型（约束）	必填	描述
        orderId	String(64)	Y	客户订单号
        waybillNo	String(64)	N	顺丰运单号
        signBackWaybillNo	String(64)	N	顺丰签回单号
        2.6 错误码列表
        错误码	描述
        80000	系统异常
        80001	签名错误
        80002	请求过期
        80003	非法参数
        80201	业务异常
        80500	请求超时
        80503	订单不存在 
        */
    }

    #endregion

    #endregion 整车直达类

    #region 城市配送类

    #region 城市配送货运下单

    /// <summary>
    /// 城市配送货运下单（快运API-城市配送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestUftlOfConfirmOrder
    {
        /// <summary>
        /// 客户编码（由SF提供）
        /// 是
        /// String
        /// </summary>
        public string clientCode { set; get; }
        /// <summary>
        /// 车型
        /// 是
        /// String
        /// </summary>
        public string vehicle { set; get; }
        /// <summary>
        /// 车数量
        /// 是
        /// String
        /// </summary>
        public int carNum { set; get; }
        /// <summary>
        /// 预约上门时间,必须提前2小时预约
        /// 是
        /// Date
        /// </summary>
        public DateTime sendStartTime { set; get; }
        /// <summary>
        /// 订单地址列表
        /// 是
        /// Array
        /// </summary>
        public List<OrderAddress> addressList { set; get; }
        /// <summary>
        /// 增值服务项列表
        /// 否
        /// Array
        /// </summary>
        public List<OrderVasFee> vasFeeList { set; get; }
        /// <summary>
        /// 下单手机号
        /// 是
        /// String
        /// </summary>
        public string phone { set; get; }
        /// <summary>
        /// 下单用户昵称
        /// 是
        /// String
        /// </summary>
        public string nickname { set; get; }
        /// <summary>
        /// 城市
        /// 是
        /// String
        /// </summary>
        public string city { set; get; }
        /// <summary>
        /// 目的城市
        /// 是
        /// String
        /// </summary>
        public string destinationCity { set; get; }
        /// <summary>
        /// 备注
        /// 否
        /// String
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 客户单号
        /// 否
        /// String
        /// </summary>
        public string customerOrderNo { set; get; }
        /// <summary>
        /// 月结卡号
        /// 是
        /// String
        /// </summary>
        public string monthCardNo { set; get; }
        /*
        请求示例

        {
            "addressList":[
                {
                    "address":"广东省深圳市南山区桃园路",
                    "addresDetail":"202号",
                    "floor":0,
                    "lift":0,
                    "replyStatus":0,
                    "contact":"张三",
                    "tel":"13112345678",
                    "coordinate":"113.93041,22.53332"
                },
                {
                    "address":"广东省深圳市宝安区松白路37-7号松岗汽车站",
                    "addressDetail":"202号",
                    "floor":0,
                    "lift":0,
                    "replyStatus":0,
                    "contact":"李四",
                    "tel":"13112345679",
                    "coordinate":"113.852053124,22.769589248"
                }
            ],
            "phone":"13112345678",
            "nickname":"张三",
            "carNum":1,
            "sendStartTime":"2022-03-05 23:00:00",
            "vehicle":"中面",
            "vasFeeList":[
                {
                    "vasCode":"DIANZIHUIDAN",
                    "num":1
                }
            ],
            "place":"深圳市",
            "clientCode":"FOP_TEST"
        }
        */
    }
    /// <summary>
    /// 城市配送货运下单（快运API-城市配送类） 业务数据返回报文
    /// </summary>
    public class ResponseUftlOfConfirmOrder
    {
        /// <summary>
        /// 错误代码
        /// String
        /// </summary>
        public string status { set; get; }
        /// <summary>
        /// 错误原因
        /// String
        /// </summary>
        public string msg { set; get; }
        /// <summary>
        /// 返回对象
        /// Object
        /// </summary>
        public UftlOfConfirmOrderData data { set; get; }

        /*
        返回参数

        属性名	类型（约束）	描述
        status	String	
        msg	String	
        data	Object	返回对象
        响应data

        属性名	类型（约束）	必填	描述
        orderNo	String	Y	订单号
        响应示例

        1.{
          "status": 10000,
          "msg": "车型不能为空",
          "data": null
        }
        2.{
          "status": 200,
          "msg": "success",
          "data": {
            "orderNo": "U20220302300015"
          }
        } 
        */
    }

    #endregion 城市配送货运下单

    #region 城市配送货运-轨迹推送麦芽田

    /// <summary>
    /// 城市配送货运-轨迹推送麦芽田（快运API-城市配送类） 业务数据请求报文
    /// </summary>
    public class UftlOfTraceMytRequest : SFRequest
    {
        /*
        1.2.2. 公共请求参数
        序号	参数列表	类型	是否必传	含义
        1	partnerID		是	
        2	requestID	String(40)	是	
        3	serviceCode	String(50)	是	接口服务代码
        4	timestamp	long	是	调用接口时间戳
        5	msgDigest	String(128)	是	
        6	msgData	String	是	
        */
        /// <summary>
        /// 数字签名,签名方法参考：数字签名认证说明
        /// 是
        /// String(128)
        /// </summary>
        public string msgDigest { set; get; }
        /// <summary>
        /// 业务数据报文 
        /// 是
        /// String
        /// </summary>
        public string msgData { set; get; }
    }
    /// <summary>
    /// 城市配送货运-轨迹推送麦芽田（快运API-城市配送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestUftlOfTraceMyt
    {
        /// <summary>
        /// 推送类型 推送类型(apiType)：3=指派司机;4=司机接单;5=到达起点;6=到达目的地;
        /// 否
        /// integer format: int32
        /// </summary>
        public int apiType { set; get; }
        /// <summary>
        /// 司机
        /// 否
        /// string
        /// </summary>
        public string chauffeurName { set; get; }
        /// <summary>
        /// 司机手机号	
        /// 否
        /// string
        /// </summary>
        public string chauffeurTel { set; get; }
        /// <summary>
        /// 操作时间	
        /// 否
        /// string format: date-time
        /// </summary>
        public string operateTime { set; get; }
        /// <summary>
        /// 操作类型
        /// 否
        /// integer format: int32
        /// </summary>
        public int operateType { set; get; }
        /// <summary>
        /// 单号
        /// 否
        /// string 
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 车牌号
        /// 否
        /// string 
        /// </summary>
        public string plateNumber { set; get; }
        /// <summary>
        /// 产品编码
        /// 否
        /// string 
        /// </summary>
        public string productCode { set; get; }
        /// <summary>
        /// 订单状态
        /// 否
        /// integer format: int32
        /// </summary>
        public int status { set; get; }
        /*
        1.2.4 请求示例
        请求报文:（msgData字段）:

        {
            "apiType":5,
            "carOrderNo":"P001",
            "chauffeurName":"xxx",
            "chauffeurTel":"13333333333",
            "chauffeurCoordinate":"113.93041,22.53332",
            "chauffeurPosition":"广东省深圳市南山区南头街道南山区政协南山区政府大楼",
            "operateTime":1686557745832,
            "operateType":2,
            "orderNo":"SF001",
            "plateNumber":"粤B123456",
            "customerOrderNo":"MYT001",
            "batchOrderNoList":[
                "MYT001",
                "MYT002",
                "MYT003"
            ]
        }
        1.3 响应参数，客户系统按此结构返回响应参数
        名称	类型	是否必须	默认值	备注	其他信息
        success	boolean	必须	true	调用成功返回 true	
        data	object	非必须			
        msg	string	非必须			
        status	integer	非必须		调用成功返回 200	format: int32

        1.3.1 返回示例\应用场景(JSON)示例
        响应报文:

        成功响应:
        {
                "success": true,
                "data": null,
                "msg": null,
                "status": 200
   
        }
        失败响应
        {
                "success": true,
                "data": null,
                "msg": null,
                "status": 500
   
        } 
        */
    }
    /// <summary>
    /// 城市配送货运-轨迹推送麦芽田（快运API-城市配送类） 业务数据返回报文
    /// </summary>
    public class ResponseUftlOfTraceMyt
    {
        /// <summary>
        /// 调用成功返回 true
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 
        /// 否
        /// object
        /// </summary>
        public object data { set; get; }
        /// <summary>
        /// 
        /// 否
        /// string
        /// </summary>
        public string msg { set; get; }
        /// <summary>
        /// 调用成功返回 200
        /// 否
        /// integer
        /// </summary>
        public int status { set; get; }
        /*
        1.3 响应参数，客户系统按此结构返回响应参数
        名称	类型	是否必须	默认值	备注	其他信息
        success		必须			
        data	object	非必须			
        msg	string	非必须			
        status	integer	非必须		调用成功返回 200	format: int32

        1.3.1 返回示例\应用场景(JSON)示例
        响应报文:

        成功响应:
        {
                "success": true,
                "data": null,
                "msg": null,
                "status": 200
   
        }
        失败响应
        {
                "success": true,
                "data": null,
                "msg": null,
                "status": 500
   
        } 
        */
    }

    #endregion 城市配送货运-轨迹推送麦芽田

    #region 城市配送货运-轨迹推送麦芽田测试

    /// <summary>
    /// 城市配送货运-轨迹推送麦芽田测试（快运API-城市配送类） 业务数据请求报文
    /// </summary>
    public class UftlOfTraceMytTestRequest : SFRequest
    {
        /*
        1.2.2. 公共请求参数
        序号	参数列表	类型	是否必传	含义
        1	partnerID		是	
        2	requestID	String(40)	是	
        3	serviceCode	String(50)	是	接口服务代码
        4	timestamp	long	是	调用接口时间戳
        5	msgDigest	String(128)	是	
        6	msgData	String	是	
        */
        /// <summary>
        /// 数字签名,签名方法参考：数字签名认证说明
        /// 是
        /// String(128)
        /// </summary>
        public string msgDigest { set; get; }
        /// <summary>
        /// 业务数据报文 
        /// 是
        /// String
        /// </summary>
        public string msgData { set; get; }
    }
    /// <summary>
    /// 城市配送货运-轨迹推送麦芽田测试（快运API-城市配送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestUftlOfTraceMytTest
    {
        /// <summary>
        /// 推送类型 推送类型(apiType)：3=指派司机;4=司机接单;5=到达起点;6=到达目的地;
        /// 否
        /// integer format: int32
        /// </summary>
        public int apiType { set; get; }
        /// <summary>
        /// 司机
        /// 否
        /// string
        /// </summary>
        public string chauffeurName { set; get; }
        /// <summary>
        /// 司机手机号	
        /// 否
        /// string
        /// </summary>
        public string chauffeurTel { set; get; }
        /// <summary>
        /// 操作时间	
        /// 否
        /// string format: date-time
        /// </summary>
        public string operateTime { set; get; }
        /// <summary>
        /// 操作类型
        /// 否
        /// integer format: int32
        /// </summary>
        public int operateType { set; get; }
        /// <summary>
        /// 单号
        /// 否
        /// string 
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 车牌号
        /// 否
        /// string 
        /// </summary>
        public string plateNumber { set; get; }
        /// <summary>
        /// 产品编码
        /// 否
        /// string 
        /// </summary>
        public string productCode { set; get; }
        /// <summary>
        /// 订单状态
        /// 否
        /// integer format: int32
        /// </summary>
        public int status { set; get; }
        /*
        1.2.4 请求示例
        请求报文:（msgData字段）:

        {
            "apiType":5,
            "carOrderNo":"P001",
            "chauffeurName":"xxx",
            "chauffeurTel":"13333333333",
            "chauffeurCoordinate":"113.93041,22.53332",
            "chauffeurPosition":"广东省深圳市南山区南头街道南山区政协南山区政府大楼",
            "operateTime":1686557745832,
            "operateType":2,
            "orderNo":"SF001",
            "plateNumber":"粤B123456",
            "customerOrderNo":"MYT001",
            "batchOrderNoList":[
                "MYT001",
                "MYT002",
                "MYT003"
            ]
        }
        1.3 响应参数，客户系统按此结构返回响应参数
        名称	类型	是否必须	默认值	备注	其他信息
        success	boolean	必须	true	调用成功返回 true	
        data	object	非必须			
        msg	string	非必须			
        status	integer	非必须		调用成功返回 200	format: int32

        1.3.1 返回示例\应用场景(JSON)示例
        响应报文:

        成功响应:
        {
                "success": true,
                "data": null,
                "msg": null,
                "status": 200
   
        }
        失败响应
        {
                "success": true,
                "data": null,
                "msg": null,
                "status": 500
   
        } 
        */
    }
    /// <summary>
    /// 城市配送货运-轨迹推送麦芽田测试（快运API-城市配送类） 业务数据返回报文
    /// </summary>
    public class ResponseUftlOfTraceMytTest
    {
        /// <summary>
        /// 调用成功返回 true
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 
        /// 否
        /// object
        /// </summary>
        public object data { set; get; }
        /// <summary>
        /// 
        /// 否
        /// string
        /// </summary>
        public string msg { set; get; }
        /// <summary>
        /// 调用成功返回 200
        /// 否
        /// integer
        /// </summary>
        public int status { set; get; }
        /*
        1.3 响应参数，客户系统按此结构返回响应参数
        名称	类型	是否必须	默认值	备注	其他信息
        success		必须			
        data	object	非必须			
        msg	string	非必须			
        status	integer	非必须		调用成功返回 200	format: int32

        1.3.1 返回示例\应用场景(JSON)示例
        响应报文:

        成功响应:
        {
                "success": true,
                "data": null,
                "msg": null,
                "status": 200
   
        }
        失败响应
        {
                "success": true,
                "data": null,
                "msg": null,
                "status": 500
   
        } 
        */
    }

    #endregion 城市配送货运-轨迹推送麦芽田测试

    #region 城市配送货运-计费

    /// <summary>
    /// 城市配送货运-计费（快运API-城市配送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestUftlOfCalcFee
    {
        /// <summary>
        /// 车型
        /// 是
        /// String
        /// </summary>
        public string vehicle { set; get; }
        /// <summary>
        /// 车数量
        /// 是
        /// int
        /// </summary>
        public int carNum { set; get; }
        /// <summary>
        /// 预约上门时间,必须提前2小时预约
        /// 是
        /// Date
        /// </summary>
        public DateTime sendStartTime { set; get; }
        /// <summary>
        /// 订单地址列表
        /// 是
        /// array
        /// </summary>
        public List<OrderAddressVO> orderAddressVOList { set; get; }
        /// <summary>
        /// 增值服务项列表
        /// 否
        /// Array
        /// </summary>
        public List<OrderVasFee> vasFeeList { set; get; }
        /// <summary>
        /// 城市
        /// 是
        /// String(200)
        /// </summary>
        public string city { set; get; }
        /// <summary>
        /// 订单来源
        /// 是
        /// String
        /// </summary>
        public string orderSource { set; get; }
        /// <summary>
        /// 客户编码（partnerID）
        /// 是
        /// String
        /// </summary>
        public string clientCode { set; get; }
        /*
        参数示例

        {
   
           "vehicle": "4.2米箱货",
           "carNum": 1,
           "sendStartTime": "2020-02-27 14:00:00",
           "city": "深圳市",
           "orderAddressVOList": [
              {
                  "address": "深圳市福田区梅康路",
                  "floor": 3,
                  "lift": 1,
                  "contact": "张三",
                  "tel": "13112345678",
                  "replyStatus":0
              },
              {
                  "address": "深圳市南山区招商路",
                  "floor": 4,
                  "lift": 1,
                  "contact": "李四",
                  "tel": "15000000008",
                  "replyStatus":7
               }],
           "orderVasFeeList": [
               {
                  "vasCode": "DIANZIHUIDAN",
                  "num": 1
               }]
        }
        */
    }
    /// <summary>
    /// 城市配送货运-计费（快运API-城市配送类） 业务数据返回报文
    /// </summary>
    public class ResponseUftlOfCalcFee
    {
        /// <summary>
        /// 错误代码
        /// String
        /// </summary>
        public string status { set; get; }
        /// <summary>
        /// 错误原因
        /// String
        /// </summary>
        public string msg { set; get; }
        /// <summary>
        /// 返回对象
        /// Object
        /// </summary>
        public UftlOfCalcFeeData data { set; get; }
        /*
        返回参数

        属性名	类型（约束）	描述
        status	String	错误代码
        msg	String	错误原因
        data	Object	返回对象
        响应data

        属性名	类型（约束）	必填	描述
        baseFee	BigDecimal	Y	里程支付金额(元)
        totalFee	BigDecimal	Y	总费用(元)
        totalVasFee	BigDecimal	Y	增值服务总费用(元)
        mileage	BigDecimal	Y	里程(千米)
        orderVasFeeList	Array	Y	增值服务费明细
        orderVasFeeList:

        属性名	类型（约束）	必填	描述
        vasCode	String	Y	增值服务编码
        vehicle	String	Y	车型
        num	int	Y	保价金额、包装箱数量
        fee	BigDecimal	Y	增值服务费用(元)
        name	String	Y	增值服务名称
        响应示例

        {
          "status": 200,
          "msg": "success",
          "data": {
            "baseFee": 52.20,
            "totalFee": 419.30,
            "totalVasFee": 367.10,
            "mileage": 32.195,
            "cutPayment": 1.00,
            "orderVasFeeList": [
              {
                "vasCode": "BAOZHUANGXIANG",
                "vehicle": "箱货",
                "num": 2,
                "fee": 12.00,
                "name": "包装箱"
              },
              {
                "vasCode": "BAOJIA",
                "vehicle": "箱货",
                "num": 3000,
                "fee": 9.00, ,
                "name": "保价"
              },
              {
                "vasCode": "FANCHENG",
                "vehicle": "箱货",
                "fee": 26.10,
                "name": "返程"
              },
              {
                "vasCode": "YEJIANFUWU",
                "vehicle": "箱货" 
                "fee": 200.00,
                "name": "夜间服务"
              }
            ]
          }
        } 
        */
    }

    #endregion 城市配送货运-计费

    #region 城市配送货运-订单列表

    /// <summary>
    /// 城市配送货运-订单列表（快运API-城市配送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestUftlOfOrderList
    {
        /// <summary>
        /// 客户编码（由SF提供）
        /// 是
        /// String
        /// </summary>
        public string clientCode { set; get; }
        /// <summary>
        /// 下单手机号
        /// 是
        /// String
        /// </summary>
        public string phone { set; get; }
        /// <summary>
        /// 下单开始时间
        /// 否
        /// String
        /// </summary>
        public string createTimeStart { set; get; }
        /// <summary>
        /// 下单结束时间
        /// 否
        /// String
        /// </summary>
        public string createTimeEnd { set; get; }
        /// <summary>
        /// 分页index（1开始）
        /// 否
        /// String
        /// </summary>
        public int index { set; get; } = 1;
        /// <summary>
        /// 分页size（默认10）
        /// 否
        /// String
        /// </summary>
        public int size { set; get; } = 10;
        /*
        请求参数（公共参数里面的 msgData 字段）

        属性名	类型（约束）	必填	描述
        clientCode	String	Y	
        phone	String	Y	
        createTimeStart	String	N	下单开始时间
        createTimeEnd	String	N	下单结束时间
        index	Int	N	分页index（1开始）
        size	Int	N	分页size（默认10）
        请求示例

        {
            "phone":"13112345678",
            "clientCode":"FOP_TEST"
        }
        响应data

        属性名	类型（约束）	必填	描述
        orderNo	String	Y	订单号
        orderTime	String	Y	下单时间
        finishTime	String	Y	完成服务时间
        contact	String	Y	联系人
        tel	String	Y	联系电话
        orderStatus	String	Y	订单状态: 1待处理 2服务中 3已完成 4已取消 5待支付 9供应商待处理
        remark	String	Y	备注
        customerOrderNo	String	Y	客户单号
        totalFee	Demical	Y	总费用,单位:元 
        */
    }
    /// <summary>
    /// 城市配送货运-订单列表（快运API-城市配送类） 业务数据返回报文
    /// </summary>
    public class ResponseUftlOfOrderList
    {
        /// <summary>
        /// 错误代码
        /// String
        /// </summary>
        public string status { set; get; }
        /// <summary>
        /// 错误原因
        /// String
        /// </summary>
        public string msg { set; get; }
        /// <summary>
        /// 返回对象
        /// Object
        /// </summary>
        public List<UftlOfOrderListData> data { set; get; }
    }

    #endregion 城市配送货运-订单列表

    #region 城市配送货运-订单详情

    /// <summary>
    /// 城市配送货运-订单详情（快运API-城市配送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestUftlOfOrderDetail
    {
        /// <summary>
        /// 客户编码（由SF提供）
        /// 是
        /// String
        /// </summary>
        public string clientCode { set; get; }
        /// <summary>
        /// 订单号（或者传客户单号）
        /// 否
        /// String
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 客户单号
        /// 否
        /// String
        /// </summary>
        public string customerOrderNo { set; get; }
        /*
        请求参数（公共参数里面的 msgData 字段）

        属性名	类型（约束）	必填	描述
        clientCode	String	Y	
        orderNo	String	N	
        customerOrderNo	String	N	
        请求参数示例

        {
            "orderNo": "U20200227000026"
        }
        */
    }
    /// <summary>
    /// 城市配送货运-订单详情（快运API-城市配送类） 业务数据返回报文
    /// </summary>
    public class ResponseUftlOfOrderDetail
    {
        /// <summary>
        /// 错误代码
        /// String
        /// </summary>
        public string status { set; get; }
        /// <summary>
        /// 错误原因
        /// String
        /// </summary>
        public string msg { set; get; }
        /// <summary>
        /// 返回对象
        /// Object
        /// </summary>
        public List<UftlOfOrderDetailData> data { set; get; }
        /*
        返回参数

        属性名	类型（约束）	描述
        status	String	错误代码
        msg	String	错误原因
        data	Object	返回对象
        响应data

        属性名	类型（约束）	必填	描述
        orderNo	String	Y	订单号
        orderTime	String	Y	下单时间
        finishTime	String	Y	完成服务时间
        contact	String	Y	联系人
        tel	String	Y	联系电话
        sendStartTime	String	Y	预约上门时间
        orderStatus	String	Y	订单状态: 1待处理 2服务中 3已完成 4已取消 5待支付 9供应商待处理
        mileage	Demical	Y	里程,单位:km
        mileageFee	Demical	Y	里程费用,单位:元
        remark	String	Y	备注
        customerOrderNo	String	N	客户单号
        carNumber	int	Y	车数量
        totalFee	Demical	Y	总费用,单位:元
        vasTotal	Demical	Y	增值服务总费用,单位:元
        vehicle	String	Y	车型
        city	String	Y	城市
        chauffeurName	String	Y	司机姓名
        chauffeurTel	String	Y	司机电话
        chauffeurCoordinate	String	Y	司机最新定位信息(经度纬度英文逗号分隔)
        cancelMessage	String	Y	取消订单原因
        addressList	array	Y	订单发货及收货地址集合
        addressList:

        属性名	类型（约束）	必填	描述
        serialNo	int	Y	序号：0为搬出地址，后续为搬入地址
        address	String	Y	地址
        floor	int	Y	楼层
        lift	int	Y	有无电梯：0无，1有
        contact	String	Y	联系人名称
        tel	String	Y	联系电话
        响应示例

        {
            "status": 200,
            "msg": "Success",
            "data": {
                "orderNo": "U20200227000026",
                "orderTime": "2020-02-27 14:43:56",
                "finishTime": "2020-02-27 19:52:43",
                "monthSettlementCard": "142123364",
                "contact": "张三",
                "tel": "15000000000",
                "sendStartTime": "2020-02-27 16:50:00",
                "orderStatus": 3,
                "mileage": 4.98,
                "mileageFee": 143.20,
                "remark": "请准时上门取件",
                "carNumber":1,
                "totalFee": 143.20,
                "vasTotal": 0,
                "vehicle": "依维柯",    
                "city": "深圳",
                "payType": 2,
                "chauffeurName": "老司机",
                "chauffeurTel": "13333333333",
                "chauffeurCoordinate": "113.937985,22.523394",
                "cancelMessage": "业务取消",
                "orderAddress": [{
                    "serialNo": 0,
                    "address": "深圳市福田区梅康路",
                    "floor":3,
                    "lift": 1,
                    "contact": "张三",
                    "tel": "15000000000"
                },
                {
                    "serialNo": "1",
                    "address": "深圳市南山区招商路",
                    "floor":4,
                    "lift": 1,
                    "contact": "李四",
                    "tel": "15000000000"
                }]
            }
        } 
        */
    }

    #endregion 城市配送货运-订单详情

    #region 城市配送货运-订单取消

    /// <summary>
    /// 城市配送货运-订单取消（快运API-城市配送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestUftlOfCancelOrder
    {
        /// <summary>
        /// 客户编码（由SF提供）
        /// 是
        /// String
        /// </summary>
        public string clientCode { set; get; }
        /// <summary>
        /// 订单号（或者传客户单号）
        /// 否
        /// String
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 客户单号
        /// 否
        /// String
        /// </summary>
        public string customerOrderNo { set; get; }
        /// <summary>
        /// 取消订单原因
        /// 是
        /// String
        /// </summary>
        public string cancelMessage { set; get; }
        /*
        请求参数（公共参数里面的 msgData 字段）

        属性名	参数类型	必填	描述
        clientCode	String	Y	
        orderNo	String	N	订单号（或者传客户单号）
        customerOrderNo	String	N	客户单号
        cancelMessage	String	Y	取消订单原因
        请求参数示例

        {
                "orderNo": "U20200227000027",
                "cancelMessage": "订单地址填写错误"
        }
        */
    }
    /// <summary>
    /// 城市配送货运-订单取消（快运API-城市配送类） 业务数据返回报文
    /// </summary>
    public class ResponseUftlOfCancelOrder
    {
        /// <summary>
        /// 错误代码
        /// String
        /// </summary>
        public string status { set; get; }
        /// <summary>
        /// 错误原因
        /// String
        /// </summary>
        public string msg { set; get; }
        /*
        请求参数（公共参数里面的 msgData 字段）

        属性名	参数类型	必填	描述
        clientCode	String	Y	
        orderNo	String	N	订单号（或者传客户单号）
        customerOrderNo	String	N	客户单号
        cancelMessage	String	Y	取消订单原因
        请求参数示例

        {
                "orderNo": "U20200227000027",
                "cancelMessage": "订单地址填写错误"
        }
        返回参数

        属性名	类型（约束）	描述
        status	String	错误代码
        msg	String	错误原因
        data	Object	返回对象
        响应示例

        {
            "status ":200,
            "msg":"成功",
            "data":""
        } 
        */
    }

    #endregion 城市配送货运-订单取消

    #region 城市配送货运-城市可用增值服务

    /// <summary>
    /// 城市配送货运-城市可用增值服务（快运API-城市配送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestUftlOfCityAvailableList
    {
        /// <summary>
        /// 客户编码（由SF提供）
        /// 是
        /// String
        /// </summary>
        public string clientCode { set; get; }
        /// <summary>
        /// 所属城市
        /// 是
        /// String
        /// </summary>
        public string place { set; get; }
        /// <summary>
        /// 车型
        /// 是
        /// String
        /// </summary>
        public string vehicle { set; get; }
        /*
        请求参数（公共参数里面的 msgData 字段）

        属性名	参数类型	必填	描述
        clientCode	String	Y	
        place	String	Y	
        vehicle	String	Y	车型
        请求参数示例

        {
                "place": "深圳市",
                "vehicle": "4.2米箱货"
        }
        */
    }
    /// <summary>
    /// 城市配送货运-城市可用增值服务（快运API-城市配送类） 业务数据返回报文
    /// </summary>
    public class ResponseUftlOfCityAvailableList
    {
        /// <summary>
        /// 错误代码
        /// String
        /// </summary>
        public string status { set; get; }
        /// <summary>
        /// 错误原因
        /// String
        /// </summary>
        public string msg { set; get; }
        /// <summary>
        /// 返回对象
        /// Object
        /// </summary>
        public List<UftlOfCityAvailableListData> data { set; get; }
        /*
        返回参数

        属性名	类型（约束）	描述
        status	String	错误代码
        msg	String	错误原因
        data	Object	返回对象
        响应data

        属性名	类型（约束）	必填	描述
        vasCode	String	Y	增值费编码
        name	String	Y	名称
        numUnit	String	Y	单位
        响应示例

        {
            "status": 200,
            "msg": "success",
            "data": [
                {
                    "vasCode": "QITA",
                    "name": "其他费用",
                    "numUnit": null,
                    "infoName": null
                },
                {
                    "vasCode": "TINGCHEFEI",
                    "name": "高速/停车/入仓费",
                    "numUnit": null,
                    "infoName": null
                },
                {
                    "vasCode": "DENGDAIFEI",
                    "name": "等待费",
                    "numUnit": "min",
                    "infoName": "等待时间"
                },
                {
                    "vasCode": "BANYUNRENGONG",
                    "name": "搬运人工费",
                    "numUnit": "人",
                    "infoName": "新增搬运人数"
                },
                {
                    "vasCode": "BAOZHUANGXIANG",
                    "name": "新增包装箱费",
                    "numUnit": "个",
                    "infoName": "司机新增包装箱"
                },
                {
                    "vasCode": "DAJIANBANYUN",
                    "name": "大件搬运费",
                    "numUnit": "件",
                    "infoName": "大件搬运"
                }
            ]
        }
        3.6.1 增值服务编码表
        增值服务编码	描述
        BAOJIA	保价
        CHUANDIAN	串点
        ZHUANGXIE	装卸
        SHANGLOU	上楼
        FANCHENG	返程
        WEIBAN	尾板
        SHUANGPAIZUO	双排座
        QIANHUIDAN	签回单
        DIANZIHUIDAN	电子回单
        YEJIANFUWU	夜间服务
        BAOZHUANGXIANG	包装箱
        DAJIANBANYUN	大件搬运
        DENGDAIFEI	等待
        BANYUNRENGONG	搬运人工
        TINGCHEFEI	高速/停车
        QITA	其他 
        */
    }

    #endregion 城市配送货运-城市可用增值服务

    #region 城市配送货运-城市可用车型

    /// <summary>
    /// 城市配送货运-城市可用车型（快运API-城市配送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestUftlOfCityVehicles
    {
        /// <summary>
        /// 城市名称
        /// 是
        /// String
        /// </summary>
        public string city { set; get; }
        /// <summary>
        /// 业务场景,1:个人搬家, 2:标准货运
        /// 是
        /// int
        /// </summary>
        public int orderCategory { set; get; }
        /// <summary>
        /// 客户编码（由SF提供）
        /// 是
        /// String
        /// </summary>
        public string clientCode { set; get; }
        /*
        请求参数（公共参数里面的 msgData 字段）

        属性名	参数类型	必填	描述
        city	String	Y	
        orderCategory	int	Y	
        clientCode	String	Y	
        请求参数示例

        {
           "city": "深圳市",
           "orderCategory":2,
           "clientCode":"WLST" 
        }
        */
    }
    /// <summary>
    /// 城市配送货运-城市可用车型（快运API-城市配送类） 业务数据返回报文
    /// </summary>
    public class ResponseUftlOfCityVehicles
    {
        /// <summary>
        /// 错误代码
        /// String
        /// </summary>
        public string status { set; get; }
        /// <summary>
        /// 错误原因
        /// String
        /// </summary>
        public string msg { set; get; }
        /// <summary>
        /// 返回对象
        /// Object
        /// </summary>
        public UftlOfCityVehiclesData data { set; get; }
        /*
        返回参数

        属性名	类型（约束）	描述
        status	String	状态码
        msg	String	返回信息
        data	List<Object>	返回对象
        响应data

        属性名	类型（约束）	描述
        model	String	车型
        weight	Double	载重，单位：吨
        length	Double	车箱长度，单位：米
        width	Double	箱宽度，单位：米
        height	Double	车箱高度，单位：米
        volume	Double	车箱容积，单位：立方米
        flag	Integer	是否有特殊规格
        specialModelList	array	可选特殊规格
        photo	String	车型图片
        SpecialModel:

        属性名	类型（约束）	必填	描述
        name	String	Y	特殊规格名称
        code	String	Y	特殊规格编码
        响应示例

        {
            "status": 200,
            "msg": "success",
            "data": {
                "carModels": [
                    {
                        "model": "依维柯",
                        "weight": 3.50,
                        "length": 2.80,
                        "width": 1.80,
                        "height": 2.20,
                        "volume": 11.10,
                        "flag": 0,
                        "photo":"",
                        "specialModelList": [
                            {
                                "name": "双排座",
                                "code": "SHUANGPAIZUO"
                            },
                            {
                                "name": "尾板",
                                "code": "WEIBAN"
                            }
                        ]
                    }
                ]
            }
        } 
        */
    }

    #endregion 城市配送货运-城市可用车型

    #region 城市配送货运-开通城市

    /// <summary>
    /// 城市配送货运-开通城市（快运API-城市配送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestUftlOfCityList
    {
        /// <summary>
        /// 客户编码（由SF提供）
        /// 是
        /// String
        /// </summary>
        public string clientCode { set; get; }
        /*
        请求参数（公共参数里面的 msgData 字段）

        属性名	参数类型	必填	描述
        clientCode	String	Y	
        请求参数示例

        {
           "cilentCode":"WLST"
        }
        */
    }
    /// <summary>
    /// 城市配送货运-开通城市（快运API-城市配送类） 业务数据返回报文
    /// </summary>
    public class ResponseUftlOfCityList
    {
        /// <summary>
        /// 错误代码
        /// String
        /// </summary>
        public string status { set; get; }
        /// <summary>
        /// 错误原因
        /// String
        /// </summary>
        public string msg { set; get; }
        /// <summary>
        /// 返回对象
        /// List<String>
        /// </summary>
        public string[] data { set; get; }
        /*
        返回参数

        属性名	类型（约束）	描述
        status	String	错误代码
        msg	String	错误原因
        data	List<String>	返回对象
        响应示例

        {
            "status": 200,
            "msg": "success",
            "data": [
                "深圳市",
                "成都市"
            ]
        } 
        */

    }

    #endregion 城市配送货运-开通城市

    #region 城市配送货运-城市可用预约上门时间列表

    /// <summary>
    /// 城市配送货运-城市可用预约上门时间列表（快运API-城市配送类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestUftlOfSendStartTimeList
    {
        /// <summary>
        /// 客户编码（由SF提供）
        /// 是
        /// String
        /// </summary>
        public string clientCode { set; get; }
        /// <summary>
        /// 城市
        /// 是
        /// String
        /// </summary>
        public string city { set; get; }
        /*
        请求参数（公共参数里面的 msgData 字段）

        属性名	参数类型	必填	描述
        clientCode		Y	客户编码（由SF提供）
        city	String	Y	城市
        请求参数示例

        {
           "cilentCode":"FOP_TEST",
           "city":"深圳市"  
        }
        */
    }
    /// <summary>
    /// 城市配送货运-城市可用预约上门时间列表（快运API-城市配送类） 业务数据返回报文
    /// </summary>
    public class ResponseUftlOfSendStartTimeList
    {
        /// <summary>
        /// 错误代码
        /// String
        /// </summary>
        public string status { set; get; }
        /// <summary>
        /// 错误原因
        /// String
        /// </summary>
        public string msg { set; get; }
        /// <summary>
        /// 返回对象
        /// List<String>
        /// </summary>
        public UftlOfSendStartTimeListData data { set; get; }
        /*
        返回参数

        属性名	类型（约束）	描述
        status	String	错误代码
        msg	String	错误原因
        data	List<String>	返回对象
        响应data

        属性名	类型（约束）	必填	描述
        startTime	String	Y	开始时间
        endTime	String	Y	结束时间
        响应示例

        {
            "status": 200,
            "msg": "success",
            "data": {
                "startTime": "08:00:00",
                "endTime": "23:00:00"
            }
        } 
        */
    }

    #endregion 城市配送货运-城市可用预约上门时间列表

    #endregion 城市配送类

    #region 转寄外发类

    #region 取消订单

    /// <summary>
    /// 取消订单（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardCancelOrder
    {
        /// <summary>
        /// SF快运转寄的订单号
        /// 是
        /// Long
        /// </summary>
        public string forwardOrderId { set; get; }
        /// <summary>
        /// 转寄的运单号
        /// 否
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 取消原因
        /// 否
        /// String(200)
        /// </summary>
        public string cancelReason { set; get; }
        /// <summary>
        /// 操作人
        /// 否
        /// String(30)
        /// </summary>
        public string @operator { set; get; }
        /// <summary>
        /// 取消时间 TimeStamp
        /// 是
        /// Long
        /// </summary>
        public string cancelTime { set; get; }
        /*
        请求参数
        属性名	参数类型	Required/Optional	描述
        forwardOrderId	Long	R	SF快运转寄的订单号
        waybillNo	String(64)	O	转寄的运单号
        cancelReason	String(200)	O	取消原因
        operator	String(30)	O	操作人
        cancelTime	Long	R	取消时间 TimeStamp
        参数示例

        {
            "forwardOrderId": "202024081900040",
            "cancelTime": 1724049943984,
            "cancelReason": "客户要求取消",
            "operator": "01402222"
        }
        */
    }
    /// <summary>
    /// 取消订单（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardCancelOrder
    {
        /// <summary>
        /// 是否成功, 返回”true”表示订单取消成功 
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 失败提示信息
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 失败状态码
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /*
        返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功, 返回”true”表示订单取消成功 
        */
    }

    #endregion 取消订单

    #region 实时位置查询

    /// <summary>
    /// 实时位置查询（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardQueryTrack
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /*
        请求参数
        属性名	参数类型	Required/Optional	描述
        waybillNo	String(64)	R	运单号
        */
    }
    /// <summary>
    /// 实时位置查询（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardQueryTrack
    {
        /// <summary>
        /// 是否成功, 返回”true”表示订单取消成功 
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 失败提示信息
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 失败状态码
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public ForwardQueryTrackObj obj { set; get; }
        /*
        返回参数
        属性名	参数类型	Required/Optional	描述
        waybillNo	String(64)	R	运单号
        timestamp	String(19)	R	时间点
        licensePlateNumber	String(32)	R	车牌号
        driver	String(32)	O	司机
        driverPhone	String(32)	O	司机电话
        province	String(20)	O	省
        city	String(20)	O	市
        county	String(20)	O	区
        address	String(256)	O	当前地址
        latitude	Number	O	当前纬度
        longitude	Number	O	当前经度
        elevation	Number	O	当前海拔
        latLongType	Int	O	坐标类型, 1:百度 2：高德 3：Google
        source	String(10)	R	位置信息来源。如人工维护、GPS、定点签到等
        remark	String(256)	O	备注信息
        stauts	Int	O	订单状态 参见附件6.1 
        */
    }

    #endregion 实时位置查询

    #region 回单上传接口

    /// <summary>
    /// 回单上传接口（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardUploadSignImage
    {
        /// <summary>
        /// 运单号	
        /// 是
        /// String
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 扫描点部代码	
        /// 否
        /// String
        /// </summary>
        public string scanStation { set; get; }
        /// <summary>
        /// 扫描时间	格式：yyyy-MM-dd HH:mm:ss
        /// 是
        /// String
        /// </summary>
        public string scanTime { set; get; }
        /// <summary>
        /// 扫描员工编码	
        /// 否
        /// String
        /// </summary>
        public string scanOperator { set; get; }
        /// <summary>
        /// 扫描大区网点		
        /// 否
        /// String
        /// </summary>
        public string scanAreaCode { set; get; }
        /// <summary>
        /// 图片URL			
        /// 是
        /// String
        /// </summary>
        public string picUrl { set; get; }
        /// <summary>
        /// 备注	图片地址必须可以外网访问	
        /// 否
        /// String
        /// </summary>
        public string remark { set; get; }
        /*
        入参字段：
        字段名	是否必须	类型	含义	备注
        waybillNo	Y	String	运单号	
        scanStation	N	String	扫描点部代码	
        scanTime	Y	String	扫描时间	格式：yyyy-MM-dd HH:mm:ss
        scanOperator	N	String	扫描员工编码	
        scanAreaCode	N	String	扫描大区网点	
        picUrl	Y	String	图片URL	
        remark	N	String	备注	图片地址必须可以外网访问
        */
    }
    /// <summary>
    /// 回单上传接口（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardUploadSignImage
    {
        /// <summary>
        /// 是否成功
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 失败提示信息
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 失败状态码
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /*
        返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码 详细错误代码列表参见：
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功 
        */
    }

    #endregion 回单上传接口

    #region 工单下发接口

    #endregion 工单下发接口

    #region 工单处理结果上传

    #endregion 工单处理结果上传

    #region 异常拦截信息下发

    /// <summary>
    /// 异常拦截信息下发（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardPushExceptionInfo
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 异常类型
        /// 是
        /// String(32)
        /// </summary>
        public string exceptionType { set; get; }
        /// <summary>
        /// 异常描述
        /// 是
        /// String(255)
        /// </summary>
        public string exceptionDesc { set; get; }
        /// <summary>
        /// 联系人
        /// 否
        /// String(32)
        /// </summary>
        public string contact { set; get; }
        /// <summary>
        /// 联系电话
        /// 否
        /// String(32)
        /// </summary>
        public string contactPhone { set; get; }
        /*
        请求参数
        属性名	参数类型	Required/Optional	描述
        waybillNo	String(64)	R	运单号
        exceptionType	String(32)	R	异常类型
        exceptionDesc	String(255)	R	异常描述
        contact	String(32)	O	联系人
        contactPhone	String(32)	O	联系电话
        */
    }
    /// <summary>
    /// 异常拦截信息下发（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardPushExceptionInfo
    {
        /// <summary>
        /// 是否成功，代表成功接收 
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 失败提示信息
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 失败状态码
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /*
        返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码 详细错误代码列表参见：
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功，代表成功接收 
        */
    }

    #endregion 异常拦截信息下发

    #region 提货司机信息上传

    /// <summary>
    /// 提货司机信息上传（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardUploadVehicle
    {
        /// <summary>
        /// SF快运转寄的订单号
        /// 是
        /// Long(20)
        /// </summary>
        public long forwardOrderId { set; get; }
        /// <summary>
        /// 运单号
        /// 是
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 司机姓名
        /// 是
        /// String(32)
        /// </summary>
        public string driver { set; get; }
        /// <summary>
        /// 司机电话
        /// 是
        /// String(32)
        /// </summary>
        public string driverMobile { set; get; }
        /// <summary>
        /// 车牌号
        /// 是
        /// String(10)
        /// </summary>
        public string licensePlateNumber { set; get; }
        /// <summary>
        /// 承运商公司名称
        /// 否
        /// String(64)
        /// </summary>
        public string carrierCompany { set; get; }
        /// <summary>
        /// 承运商公司联系电话
        /// 否
        /// String(32)
        /// </summary>
        public string carrierPhone { set; get; }
        /*
        请求参数
        属性名	参数类型	Required/Optional	描述
        forwardOrderId	Long(20)	R	
        waybillNo	String(64)	R	运单号
        driver	String(32)	R	司机姓名
        driverMobile	String(32)	R	司机电话
        licensePlateNumber	String(10)	R	车牌号
        carrierCompany	String(64)	O	承运商公司名称
        carrierPhone	String(32)	O	承运商公司联系电话
        请求示例

        {
            "forwardOrderId":151515481213,
            "waybillNo":"SF24343455",
            "driver":"李丰田",
            "driverMobile":"15985841721",
            "licensePlateNumber":"粤B 1F5489",
        }
        */
    }
    /// <summary>
    /// 提货司机信息上传（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardUploadVehicle
    {
        /// <summary>
        /// 是否成功，代表成功接收 
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 错误代码 详细错误代码列表参见：
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /*
        返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码 详细错误代码列表参见：
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功，代表成功接收
        */
    }

    #endregion 提货司机信息上传

    #region 轨迹批量上传

    /// <summary>
    /// 轨迹批量上传（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardUploadTrackBatch
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 时间点
        /// 是
        /// Long
        /// </summary>
        public long timestamp { set; get; }
        /// <summary>
        /// 车牌号
        /// 是
        /// String(32)
        /// </summary>
        public string licensePlateNumber { set; get; }
        /// <summary>
        /// 司机
        /// 否
        /// String(32)
        /// </summary>
        public string driver { set; get; }
        /// <summary>
        /// 司机电话
        /// 否
        /// String(32)
        /// </summary>
        public string driverPhone { set; get; }
        /// <summary>
        /// 省
        /// 否
        /// String(20)
        /// </summary>
        public string province { set; get; }
        /// <summary>
        /// 市
        /// 否
        /// String(20)
        /// </summary>
        public string city { set; get; }
        /// <summary>
        /// 区
        /// 否
        /// String(20)
        /// </summary>
        public string county { set; get; }
        /// <summary>
        /// 当前地址
        /// 否
        /// String(256)
        /// </summary>
        public string address { set; get; }
        /// <summary>
        /// 当前纬度
        /// 否
        /// Number
        /// </summary>
        public double latitude { set; get; }
        /// <summary>
        /// 当前经度
        /// 否
        /// Number
        /// </summary>
        public double longitude { set; get; }
        /// <summary>
        /// 当前海拔
        /// 否
        /// Number
        /// </summary>
        public double elevation { set; get; }
        /// <summary>
        /// 坐标类型, 1:百度 2：高德 3：Google
        /// 否
        /// Int
        /// </summary>
        public int latLongType { set; get; }
        /// <summary>
        /// 位置信息来源。如人工维护、GPS、定点签到等
        /// 是
        /// String(10)
        /// </summary>
        public string source { set; get; }
        /// <summary>
        /// 备注信息
        /// 否
        /// String(256)
        /// </summary>
        public string remark { set; get; }
        /*
        入参示例

        [
            {
                "waybillNo": "SF1223548122",
                "timestamp": 1561098516251,
                "licensePlateNumber": "粤B 888888",
                "driver": "李丰田",
                "driverPhone": "15985584758",
                "province": "广东省",
                "city": "深圳市",
                "county": "南山区",
                "address": "软件产业基地",
                "latitude": 22.62,
                "longitude": 114.07,
                "elevation": 10.52,
                "latLongType": 2,
                "source": "GPS",
                "remark": ""
            },
            {
                "waybillNo": "SF1223548122",
                "timestamp": 1561098516251,
                "licensePlateNumber": "粤B 888888",
                "driver": "李丰田",
                "driverPhone": "15985584758",
                "province": "广东省",
                "city": "深圳市",
                "county": "福田区",
                "address": "彩田集散中心",
                "latitude": 22.62,
                "longitude": 114.07,
                "elevation": 10.52,
                "latLongType": 2,
                "source": "GPS",
                "remark": ""
            }
        ]
        */
    }
    /// <summary>
    /// 轨迹批量上传（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardUploadTrackBatch
    {
        /// <summary>
        /// 是否成功，代表成功接收 
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 错误代码 详细错误代码列表参见：
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /*
        返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码 详细错误代码列表参见：
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功，代表成功接收
        */
    }

    #endregion 轨迹批量上传

    #region 轨迹查询接口

    /// <summary>
    /// 轨迹查询接口（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardQueryRouter
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /*
        请求参数
        属性名	参数类型	Required/Optional	描述
        waybillNo	String(64)	R	运单号
        {
            "waybillNo":"444138405992"
        }
        */
    }
    /// <summary>
    /// 轨迹查询接口（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardQueryRouter
    {
        /// <summary>
        /// 是否成功，代表成功接收 
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 错误代码 详细错误代码列表参见：
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public ForwardQueryRouterObj obj { set; get; }
        /// <summary>
        /// 运单号
        /// 是
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public int status { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public List<RouterInfo> routerInfos { set; get; }
        /*
        返回参数
        参见5.4 路由上传接口 描述的路由上传接口请求参数。要求把全部的路由信息一次性返回。返回示例：

        {
            "waybillNo": "12345678",
            "status": 0,
            "routerInfos": [
                {
                    "uniqueId": "2388561349448722724",
                    "status": 0,
                    "operator": "王大雷",
                    "operateTime": "2019-05-18 12:30:00",
                    "context": "广西壮族自治区贺州市八步区大宁镇公司岳** 派件中 派件员电话18877457789",
                    "cityName": "贺州市"
                },
                {
                    "uniqueId": "2388561349448722",
                    "status": 0,
                    "operator": "王大雷",
                    "operateTime": "2019-05-18 12:30:00",
                    "context": "广西省贺州市公司 已发出,下一站 广西壮族自治区贺州市八步区大宁镇",
                    "cityName": "贺州市"
                }
            ]
        }
        */
    }

    #endregion 轨迹查询接口

    #region 修改订单信息

    #endregion 修改订单信息

    #region 运单备注上传

    /// <summary>
    /// 运单备注上传（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardUploadWaybillRemark
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 操作人姓名
        /// 是
        /// String(64)
        /// </summary>
        public string @operator { set; get; }
        /// <summary>
        /// 备注内容
        /// 是
        /// String(500)
        /// </summary>
        public string remark { set; get; }
        /*
        请求参数
        属性名	参数类型	Required/Optional	描述
        waybillNo	String(64)	R	运单号
        operator	String(64)	R	操作人姓名
        remark	String(500)	R	备注内容
        入参示例

        {
            "waybillNo": "444124310163",
            "operator": "王大雷",
            "remark": "易碎物品"
        }
        */
    }
    /// <summary>
    /// 运单备注上传（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardUploadWaybillRemark
    {
        /// <summary>
        /// 是否成功
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 错误代码 详细错误代码列表参见：
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /*
        返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码 详细错误代码列表参见：
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功 
        */
    }

    #endregion 运单备注上传

    #region 运单签回单号上传

    /// <summary>
    /// 运单签回单号上传（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardUploadReceipt
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 签回单号
        /// 是
        /// String(64)
        /// </summary>
        public string returnWaybillNo { set; get; }
        /// <summary>
        /// 物流公司，如顺丰物流、圆通物流，申通物流等等
        /// 是
        /// String(64)
        /// </summary>
        public string company { set; get; }
        /*
        请求参数
        属性名	参数类型	Required/Optional	描述
        waybillNo	String(64)	R	运单号
        returnWaybillNo	String(64)	R	签回单号
        company	String(64)	R	物流公司，如顺丰物流、圆通物流，申通物流等等
        入参示例

        {
            "waybillNo": "SF1011733905461",
            "returnWaybillNo": "SF1011712484554",
            "company": "顺丰物流"
        }
        */
    }
    /// <summary>
    /// 运单签回单号上传（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardUploadReceipt
    {
        /// <summary>
        /// 是否成功
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 错误代码 详细错误代码列表参见：
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /*
        返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码 详细错误代码列表参见：
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功
        */
    }

    #endregion 运单签回单号上传

    #region 下单

    /// <summary>
    /// 下单（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardPushOrder
    {
        /// <summary>
        /// SF快运转寄的订单号
        /// 是
        /// Long(20)
        /// </summary>
        public long forwardOrderId { set; get; }
        /// <summary>
        /// 快运转寄的运单号,一般是SF1+12为数字
        /// 是
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 快运转寄的运单包含的子运单号,一个运单号可能有多个子运单，多个会用”,”分割。SF2+12位数字为子单号
        /// 否
        /// String(300)
        /// </summary>
        public string subWaybillNos { set; get; }
        /// <summary>
        /// 提货的省级行政区名称。 必须是标准的省级行政区名称如：北京、广东省、广西壮族自治区等
        /// 否
        /// String(30)
        /// </summary>
        public string pickUpProvince { set; get; }
        /// <summary>
        /// 提货的所在地级行政区名称。 必须是标准的城市称谓 如：北京市、深圳市、大理白族自治州等
        /// 否
        /// String(30)
        /// </summary>
        public string pickUpCity { set; get; }
        /// <summary>
        /// 提货的所在县/区级行政区名称
        /// 否
        /// String(30)
        /// </summary>
        public string pickUpCounty { set; get; }
        /// <summary>
        /// 提货的详细地址如新洲十一街万基商务大厦10楼。 若pickUpProvince、pickUpCity、pickUpCounty 未填写，此字段要求填写详细的省市区
        /// 是
        /// String(30)
        /// </summary>
        public string pickUpAddress { set; get; }
        /// <summary>
        /// 提货时间，格式yyyy-MM-dd HH:mm:ss
        /// 否
        /// String(19)
        /// </summary>
        public string pickUpTime { set; get; }
        /// <summary>
        /// 提货联系人
        /// 否
        /// String(100)
        /// </summary>
        public string pickUpContact { set; get; }
        /// <summary>
        /// 提货联系人手机
        /// 是
        /// String(30)
        /// </summary>
        public string pickUpPhone { set; get; }
        /// <summary>
        /// 提货联系人电话
        /// 否
        /// String(30)
        /// </summary>
        public string pickUpTel { set; get; }
        /// <summary>
        /// 派送方式 1 派送;2 自提
        /// 是
        /// Number(1)
        /// </summary>
        public int deliveryType { set; get; }
        /// <summary>
        /// 送货地省
        /// 否
        /// String(30)
        /// </summary>
        public string deliveryProvince { set; get; }
        /// <summary>
        /// 送货地市
        /// 否
        /// String(30)
        /// </summary>
        public string deliveryCity { set; get; }
        /// <summary>
        /// 送货地区
        /// 否
        /// String(30)
        /// </summary>
        public string deliveryCounty { set; get; }
        /// <summary>
        /// 送货地址
        /// 是
        /// String(256)
        /// </summary>
        public string deliveryAddress { set; get; }
        /// <summary>
        /// 送货联系人
        /// 是
        /// String(30)
        /// </summary>
        public string deliveryContact { set; get; }
        /// <summary>
        /// 送货联系手机
        /// 是
        /// String(30)
        /// </summary>
        public string deliveryPhone { set; get; }
        /// <summary>
        /// 送货联系电话
        /// 否
        /// String(30)
        /// </summary>
        public string deliveryTel { set; get; }
        /// <summary>
        /// 派送时间/自提时间, 格式: yyyy-MM-dd HH:mm:ss
        /// 否
        /// String(19)
        /// </summary>
        public string receiverTime { set; get; }
        /// <summary>
        /// 派送地省
        /// 否
        /// String(30)
        /// </summary>
        public string receiverProvince { set; get; }
        /// <summary>
        /// 派送地市
        /// 否
        /// String(30)
        /// </summary>
        public string receiverCity { set; get; }
        /// <summary>
        /// 派送地区
        /// 否
        /// String(30)
        /// </summary>
        public string receiverCounty { set; get; }
        /// <summary>
        /// 派送地址
        /// 是
        /// String(256)
        /// </summary>
        public string receiverAddress { set; get; }
        /// <summary>
        /// 派送联系人
        /// 是
        /// String(30)
        /// </summary>
        public string receiverContact { set; get; }
        /// <summary>
        /// 派送联系手机
        /// 是
        /// String(30)
        /// </summary>
        public string receiverPhone { set; get; }
        /// <summary>
        /// 派送联系电话
        /// 否
        /// String(30)
        /// </summary>
        public string receiverTel { set; get; }
        /// <summary>
        /// 货物简述
        /// 否
        /// String(50)
        /// </summary>
        public string totalCargoResume { set; get; }
        /// <summary>
        /// 总件数（包装）
        /// 否
        /// Int
        /// </summary>
        public int totalPackageCount { set; get; }
        /// <summary>
        /// 货物的总重量(单位:千克)
        /// 是
        /// Number(16,3)
        /// </summary>
        public double totalCargoWeight { set; get; }
        /// <summary>
        /// 货物的总体积（单位:立方厘米)
        /// 是
        /// Number(16,3)
        /// </summary>
        public double totalCargoVolume { set; get; }
        /// <summary>
        /// 声明价值
        /// 否
        /// Number(16,3)
        /// </summary>
        public double declaredValue { set; get; }
        /// <summary>
        /// 声明价值的货币类型，如 CNY,HKD
        /// 否
        /// String(3)
        /// </summary>
        public string currencyCode { set; get; }
        /// <summary>
        /// 提货备注
        /// 否
        /// String(500)
        /// </summary>
        public string pickUpRemark { set; get; }
        /// <summary>
        /// 送货备注
        /// 否
        /// String(500)
        /// </summary>
        public string deliveryRemark { set; get; }
        /// <summary>
        /// 快运产品代码
        /// 否
        /// String(10)
        /// </summary>
        public string productCode { set; get; }
        /// <summary>
        /// 网点代码
        /// 否
        /// String(10)
        /// </summary>
        public string deptCode { set; get; }
        /// <summary>
        /// 货物明细，详见 Cargo
        /// 否
        /// Array
        /// </summary>
        public List<CargoModel> cargoes { set; get; }
        /// <summary>
        /// 增值服务，详见 AddedService
        /// 否
        /// Array
        /// </summary>
        public List<AddedService> addedServices { set; get; }
        /// <summary>
        /// 费用信息，详见Fee
        /// 否
        /// Array
        /// </summary>
        public List<FeeModel> fees { set; get; }
        /// <summary>
        /// 扩展字段，详见 Extend
        /// 否
        /// Array
        /// </summary>
        public ExtendInfo extend { set; get; }
        /// <summary>
        /// 供应商的费用信息 详见payable
        /// 否
        /// Array
        /// </summary>
        public List<PayableModel> payables { set; get; }

        /* 
        请求参数
        属性名	参数类型	Required/Optional	描述
        forwardOrderId	Long(20)	R	SF快运转寄的订单号
        waybillNo	String(64)	R	快运转寄的运单号,一般是SF1+12为数字
        subWaybillNos	String(300)	O	快运转寄的运单包含的子运单号,一个运单号可能有多个子运单，多个会用”,”分割。SF2+12位数字为子单号
        pickUpProvince	String(30)	O	提货的省级行政区名称。 必须是标准的省级行政区名称如：北京、广东省、广西壮族自治区等
        pickUpCity	String(30)	O	提货的所在地级行政区名称。 必须是标准的城市称谓 如：北京市、深圳市、大理白族自治州等
        pickUpCounty	String(30)	O	提货的所在县/区级行政区名称
        pickUpAddress	String(30)	R	提货的详细地址如新洲十一街万基商务大厦10楼。 若pickUpProvince、pickUpCity、pickUpCounty 未填写，此字段要求填写详细的省市区
        pickUpTime	String(19)	O	提货时间，格式yyyy-MM-dd HH:mm:ss
        pickUpContact	String(100)	O	提货联系人
        pickUpPhone	String(30)	R	提货联系人手机
        pickUpTel	String(30)	O	提货联系人电话
        deliveryType	Number(1)	R	派送方式 1 派送;2 自提
        deliveryProvince	String(30)	O	送货地省
        deliveryCity	String(30)	O	送货地市
        deliveryCounty	String(30)	O	送货地区
        deliveryAddress	String(256)	R	送货地址
        deliveryContact	String(30)	R	送货联系人
        deliveryPhone	String(30)	R	送货联系手机
        deliveryTel	String(30)	O	送货联系电话
        receiverTime	String(19)	O	派送时间/自提时间, 格式: yyyy-MM-dd HH:mm:ss
        receiverProvince	String(30)	O	派送地省
        receiverCity	String(30)	O	派送地市
        receiverCounty	String(30)	O	派送地区
        receiverAddress	String(256)	R	派送地址
        receiverContact	String(30)	R	派送联系人
        receiverPhone	String(30)	R	派送联系手机
        receiverTel	String(30)	O	派送联系电话
        totalCargoResume	String(50)	O	货物简述
        totalPackageCount	Int	O	总件数（包装）
        totalCargoWeight	Number(16,3)	R	货物的总重量(单位:千克)
        totalCargoVolume	Number(16,3)	R	货物的总体积（单位:立方厘米)
        declaredValue	Number(16,3)	O	声明价值
        currencyCode	String(3)	O	声明价值的货币类型，如 CNY,HKD
        pickUpRemark	String(500)	O	提货备注
        deliveryRemark	String(500)	O	送货备注
        productCode	String(10)	O	快运产品代码
        deptCode	String(10)	O	网点代码
        cargoes	Array	O	货物明细，详见 Cargo
        addedServices	Array	O	增值服务，详见 AddedService
        fees	Array	O	费用信息，详见Fee
        extend	Extend	o	扩展字段，详见 Extend
        payables	Array	O	供应商的费用信息 详见payable
        Cargo

        属性名	参数类型	Required/Optional	描述
        name	String(100)	O	货物名称
        unit	String(10)	O	单位， 如个、台、件
        category	String(100)	O	货物的分类
        amount	String	O	数量(此字段可能自带单位)
        length	Number(10, 3)	O	长 单位默认为厘米
        height	Number(10, 3)	O	高 单位默认为厘米
        width	Number(10, 3)	O	宽 单位默认为厘米
        volume	Number(10, 3)	O	体积 单位默认为立方米
        weight	Number(10, 3)	O	重量 单位:kg
        boxNo	String(200)	O	箱号
        AddedService

        属性名	参数类型	Required/Optional	描述
        name	String(100)	O	增值服务名
        code	String(100)	O	增值服务类别
        value	String(20)	O	增值服务的值
        增值服务对照表：

        Code	name	Value
        CP0029	按需达	
        IN01	代收货款	代收金额
        IN02	保价	保价金额
        IN03	签单返还(纸质回单)	
        IN03	签回单	
        IN04	定时派送(等通知)	
        IN04	定时派送（等通知）	
        IN05	签收短信	
        IN07	报关服务	
        IN07	正式报关	
        IN07	进口报关	
        IN09	自取件	
        IN10	委托件	
        IN10	委托取件	
        IN100	资源调节	
        IN100	高峰资源调节费	
        IN101	原单转寄退回	
        IN101	原单退回	
        IN101	转寄/退回	
        IN102	特殊入仓	
        IN103	安装服务	
        IN104	高峰期附加费	
        IN105	签收确认服务	
        IN106	促销优惠	
        IN106	散单促销	
        IN109	到付现结优惠	
        IN109	快运到付现结优惠	
        IN11	指定时间派送	
        IN113	丰巢自寄优惠	
        IN116	宅配延伸	
        IN119	升舱次晨	
        IN121	准时保	
        IN123	参展服务	
        IN125	到柜服务	
        IN132	升舱服务	
        IN133	珍宝服务	
        IN137	出口报关	
        IN139	特派服务	
        IN139	直派服务	
        IN14	换包装	
        IN14	标准化包装服务	
        IN142	打包服务	
        IN143	丰卡速通	
        IN144	到齐再派	
        IN149	电子回单	
        IN15	燃油附加费	
        IN150	惊喜送达	
        IN152	木架拆卸服务	
        IN159	足额保	
        IN160	定额保	
        IN18	派件短信	
        IN200	乡镇派送服务	
        IN200	乡镇配送	
        IN200	其他服务（新）	
        IN200	外勤管理400	
        IN200	外勤管理500	
        IN200	外勤管理800	
        IN21	保价	
        IN21	基础保（高价值）	
        IN21	特安	
        IN23	超长超重服务	
        IN23	超长超重附加费	
        IN25	保价（台湾）	
        IN26	定时派送(指定时段)	
        IN26	定时派送（指定时段）	
        IN31	打木架	
        IN31	木质包装	
        IN41	保鲜服务	
        IN44	散单代收服务	
        IN45	送货上楼	
        IN45	送货上楼服务	
        IN45_0	上楼	
        IN45_0	上楼(有电梯)	
        IN52	验货服务	
        IN56	拍照验证	
        IN59	口令签收	
        IN59	密钥认证	
        IN59	签收确认	
        IN60	展会服务	
        IN60	撤展服务	
        IN65	装卸服务	
        IN65_0	装货	
        IN65_1	卸货	
        IN67	包装服务	
        IN73	上门收货	
        IN73	提货	
        IN73	提货服务	
        IN74	送货	
        IN74	送货服务	
        IN74	送货（不含上楼）	
        IN80	特殊出仓	
        IN87	保单配送	
        IN88	派件地址变更服务	
        IN89	优派服务	
        IN89	升舱次晨0930	
        IN89	升舱次晨（0930）	
        IN90	易碎件	
        IN91	拍照回传	
        IN91	电子图片	
        IN91	电子验收	
        IN95	集报散派	
        IN98	大件入户	
        IN98	大闸蟹专递	
        IN99	票据专送	
        OS03	入仓垫付费	
        OS04	丰巢超重费	
        OS06	产品优惠	
        OS06	快运产品优惠	
        OS09	电商退货超重费	
        OS09	超额现结费	
        OS11	收件微派	
        Fee

        属性名	参数类型	Required/Optional	描述
        feeName	String(100)	O	费用名
        feeTypeCode	String(100)	O	费用类型
        feeAmt	Number(10, 3)	O	费用
        paymentTypeCode	String(1)	O	支付方式
        paymentTypeName	String(100)	O	支付方式名
        settlementTypeCode	String(1)	O	结算类型
        settlementTypeName	String(100)	O	结算名称
        currencyCode	String(1)	O	费用单位
        currencyName	String(100)	O	费用单位名称
        Extend

        属性名	参数类型	Required/Optional	描述
        AUTO_FORWARDING_44_EMP_CODE	String(100)	O	自动转寄44操作码的员工编码
        AUTO_FORWARDING_44_EMP_MOBILE	String(100)	O	自动转寄44操作码员工手机号
        outerOrderNo	String(100)	O	客户订单号
        cargoValue	Number	O	货物价值
        Payable

        属性名	参数类型	Required/Optional	描述
        feeAmt	Number	R	金额（可能为负）
        feeName	String	O	费用名称
        feeTypeCode	String	R	费用代码
        下发参数示例

        {
          "addedServices": [
            {
              "code": "IN67",
              "name": "包装服务"
            }
          ],
          "cargoes": [
            {
              "amount": "1",
              "height": 30,
              "length": 50,
              "name": "大米",
              "weight": 20.5,
              "width": 20.5
            }
          ],
          "deliveryAddress": "55，57号一'二层[麦当劳餐厅]",
          "deliveryCity": "韶关市",
          "deliveryContact": "****",
          "deliveryCounty": "****",
          "deliveryPhone": "0751-8899285",
          "deliveryProvince": "广东省",
          "deliveryRemark": "",
          "deliveryTel": "0751-******",
          "deliveryType": 1,
          "deptCode": "755AD",
          "extend": {
            "mainLineCharge": 14.35,
            "priceType": 2,
            "pContractId": "79202309010002",
            "carrierType": 1,
            "pickLineCharge": 2.05,
            "dLineId": 1118709,
            "hasReceiverPayment": 0,
            "dContractId": "79202309010002",
            "destDistanceLabel": 2,
            "sapSupplierCode": "1003315590",
            "sapSupplierName": "东莞****",
            "deliverLineCharge": 0,
            "pLineId": 26708,
            "priceApplyType": 2,
            "routeType": 1,
            "sourceDistanceLabel": 1
          },
          "forwardOrderId": "202023092831510",
          "operateType": 0,
          "payables": [
            {
              "feeAmt": 16.4,
              "feeName": "运费",
              "feeTypeCode": "1"
            },
            {
              "feeAmt": -2,
              "feeName": "安全服务费",
              "feeTypeCode": "SAFETY_SERVE"
            }
          ],
          "pickUpAddress": "广东省深圳市龙岗区平湖街道华南大道一号华南城5号交易广场******",
          "pickUpCity": "深圳市",
          "pickUpContact": "顺丰小哥",
          "pickUpCounty": "龙岗区",
          "pickUpPhone": "0755-*****",
          "pickUpProvince": "广东省",
          "pickUpRemark": "",
          "pickUpTel": "0755-*****",
          "productCode": "SE0114",
          "receiverAddress": "55，57号一'二层[麦当劳餐厅]",
          "receiverCity": "韶关市",
          "receiverCityCode": "751",
          "receiverContact": "*****",
          "receiverCounty": "浈江区",
          "receiverPhone": "0751-******",
          "receiverProvince": "广东省",
          "receiverTel": "0751-889*****",
          "receiverType": 1,
          "subWaybillNos": "SF1443526969008",
          "totalCargoResume": "大米",
          "totalCargoVolume": 60000,
          "totalCargoWeight": 20.5,
          "totalPackageCount": 1,
          "waybillNo": "SF1443526969008"
        }
        */
    }
    /// <summary>
    /// 下单（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardPushOrder
    {
        /// <summary>
        /// 是否成功
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 错误代码 详细错误代码列表参见：
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /* 
        返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功
        */
    }

    #endregion 下单

    #region 订单状态上传

    /// <summary>
    /// 订单状态上传（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardUpdateOrderStatus
    {
        /// <summary>
        /// SF快运转寄的订单号
        /// 是
        /// Long(20)
        /// </summary>
        public long forwardOrderId { set; get; }
        /// <summary>
        /// 运单号
        /// 是
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 订单状态
        /// 是
        /// Int
        /// </summary>
        public int status { set; get; }
        /// <summary>
        /// 运单号
        /// 否
        /// String(256)
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 变更时间 格式: yyyy-MM-dd HH:mm:ss
        /// 否
        /// String(19)
        /// </summary>
        public string operateTime { set; get; }
        /// <summary>
        /// 操作人，可以是司机姓名或派件人姓名
        /// 否
        /// String(19)
        /// </summary>
        public string @operator { set; get; }
        /// <summary>
        /// 联系人 (可以是业务方联系人，或者区域经理等等）
        /// 否
        /// String(20)
        /// </summary>
        public string contact { set; get; }
        /// <summary>
        /// 联系人电话
        /// 否
        /// String(30)
        /// </summary>
        public string contactPhone { set; get; }
        /// <summary>
        /// 图片Urls；图片链接是外网可以访问的URL，系统通过异步方式抓取下来
        /// 否
        /// List<String>
        /// </summary>
        public string[] picUrls { set; get; }
        /*
        请求参数
        属性名	参数类型	Required/Optional	描述
        forwardOrderId	Long(20)	R	SF快运转寄的订单号
        waybillNo	String(64)	R	运单号
        status	Int	R	订单状态
        remark	String(256)	0	备注
        operateTime	String(19)	O	变更时间 格式: yyyy-MM-dd HH:mm:ss
        operator	String(19)	O	操作人，可以是司机姓名或派件人姓名
        contact	String(20)	O	联系人 (可以是业务方联系人，或者区域经理等等）
        contactPhone	String(30)	O	联系人电话
        picUrls	List<String>	O	图片Urls；图片链接是外网可以访问的URL，系统通过异步方式抓取下来
        参数示例

        {
            "forwardOrderId":215151638454,
            "waybillNo":"SF45458785862",
            "status":2,
            "remark":"接单",
            "operateTime":"2019-06-21 15:15:00",
            "operator":"system",
            "contact"："杨生",
            "contactPhone":"19000000000"
        }
        状态值描述

        status值	含义	备注
        2	已接单	
        3	已流单	
        25	已指派	
        5	已提货	目前只要传这个状态
        55	已交接	
        6	运输中	
        7	派件中	
        75	审核中	
        */
    }
    /// <summary>
    /// 订单状态上传（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardUpdateOrderStatus
    {
        /// <summary>
        /// 是否成功
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 错误代码 详细错误代码列表参见：
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /*
        返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功
        注意：在返回结果为false时，建议分情况重试。
        */
    }

    #endregion 订单状态上传

    #region 路由上传

    /// <summary>
    /// 路由上传（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardUploadRouter
    {
        /// <summary>
        /// 运单号。母单
        /// 是
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 子单号，选填，填了就是上传子单路由
        /// 否
        /// String(64)
        /// </summary>
        public string subWaybillNo { set; get; }
        /// <summary>
        /// 面单当前签收状态 0在途中
        /// 是
        /// Int
        /// </summary>
        public int status { set; get; }
        /// <summary>
        /// 路由描述信息list。建议按时间的倒序排列，增量上传。
        /// 是
        /// Array
        /// </summary>
        public List<RouterModel> routerInfos { set; get; }
        /*
        请求参数
        属性名	参数类型	Required/Optional	描述
        waybillNo	String(64)	R	运单号。母单
        subWaybillNo	String(64)	O	子单号，选填，填了就是上传子单路由
        status	Int	R	面单当前签收状态 0在途中
        routerInfos	Array	R	路由描述信息list。建议按时间的倒序排列，增量上传。
        RouterInfo

        属性名	参数类型	Required/Optional	描述
        uniqueId	String(64)	R	路由信息的唯一识别码，系统用此字段判断是否重复。建议使用UUID，也可以使用context的hash作为去重的判断
        status	Int	R	路由发生时的面单状态。只能为0
        operator	String(30)	R	操作人员姓名或者工号
        operateTime	String(19)	R	发生时间。格式: yyyy-MM-dd HH:mm:ss。即该操作的发生时间，必须传实际时间，不能传上传时候的当前时间。
        context	String(200)	R	路由描述信息。 必须按照严格按照路由描述及解释 转译。避免出现收件、签收等给客户造成误解的描述
        cityName	String(20)	R	路由发生的城市
        provinceName	String(20)	R	路由发生的省份
        入参示例：

        {
            "waybillNo": "12345678",
            "subWaybillNo": "2345678",
            "status": 0,
            "routerInfos":
            [
                {
                    "uniqueId": "2388561349448722724",
                    "status": 0,
                    "operator": "王大雷",
                    "operateTime": "2019-05-18 12:30:00",
                    "context": "广西壮族自治区贺州市八步区大宁镇公司岳** 派件中 派件员电话18877457789",
                    "cityName": "贺州市",
                    "provinceName": "广西省"
                },
                {
                    "uniqueId": "2388561349448722",
                    "status": 0,
                    "operator": "王大雷",
                    "operateTime": "2019-05-18 12:30:00",
                    "context": "广西省贺州市公司 已发出,下一站 广西壮族自治区贺州市八步区大宁镇",
                    "cityName": "贺州市",
                    "provinceName": "广西省"
                }
            ]
        }
        路由描述及解释

        推送路由时，增量推送即可。一次可以推送多条。
        第三方物流公司的路由推送至顺丰，需回传的节点为所有的装车、卸车操作，以及派件出仓。签收节点不用传，请使用签收图片上传接口上传签收节点。
        详细规范如下：
        节点	描述	说明	例子
        装车	快件在【……】已装车，准备发往 【……】	如果是中转场，则“……”为“XX集散中心”，如果是营业部，则“……”为”XX市营业站”，XX为城市	快件在【泉州晋江集散中心】已装车，准备发往 【莆田黄石集散中心】
        出运	快件在【……】已出运	同上	快件在【泉州晋江集散中心】已出运
        卸车	快件到达 【……】	同上	快件到达 【莆田黄石集散中心】或 快件到达 【莆田市忠门营业站】
        派件出仓	快件交给合作伙伴收派员？？，正在派送途中（联系电话：**）	？？为收派员名称；******为收派员电话	快件交给合作伙伴****收派员庄志强，正在派送途中（联系电话：15959409941）
        */
    }
    /// <summary>
    /// 路由上传（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardUploadRouter
    {
        /// <summary>
        /// 是否成功
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 错误代码 详细错误代码列表参见：
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /*
        返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功
        */
    }

    #endregion 路由上传

    #region 轨迹上传

    /// <summary>
    /// 轨迹上传（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardUploadTrack
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 时间点(是指发生时间）
        /// 否
        /// String(19)
        /// </summary>
        public string timestamp { set; get; }
        /// <summary>
        /// 车牌号
        /// 否
        /// String(32)
        /// </summary>
        public string licensePlateNumber { set; get; }
        /// <summary>
        /// 司机
        /// 否
        /// String(32)
        /// </summary>
        public string driver { set; get; }
        /// <summary>
        /// 司机电话
        /// 否
        /// String(32)
        /// </summary>
        public string driverPhone { set; get; }
        /// <summary>
        /// 省
        /// 否
        /// String(20)
        /// </summary>
        public string province { set; get; }
        /// <summary>
        /// 市
        /// 否
        /// String(20)
        /// </summary>
        public string city { set; get; }
        /// <summary>
        /// 区
        /// 否
        /// String(20)
        /// </summary>
        public string county { set; get; }
        /// <summary>
        /// 当前地址
        /// 否
        /// String(256)
        /// </summary>
        public string address { set; get; }
        /// <summary>
        /// 当前纬度
        /// 否
        /// Number
        /// </summary>
        public double latitude { set; get; }
        /// <summary>
        /// 当前经度
        /// 否
        /// Number
        /// </summary>
        public double longitude { set; get; }
        /// <summary>
        /// 当前海拔
        /// 否
        /// Number
        /// </summary>
        public double elevation { set; get; }
        /// <summary>
        /// 坐标类型, 1:百度 2：高德 3：Google
        /// 否
        /// Int
        /// </summary>
        public int latLongType { set; get; }
        /// <summary>
        /// 位置信息来源。如人工维护、GPS、定点签到等
        /// 是
        /// String(10)
        /// </summary>
        public string source { set; get; }
        /// <summary>
        /// 备注信息
        /// 否
        /// String(256)
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 打卡类型：1.发车2.点到3.派送中
        /// 是
        /// Int
        /// </summary>
        public int traceType { set; get; }
        /*
        请求参数
        属性名	参数类型	Required/Optional	描述
        waybillNo	String(64)	R	运单号
        timestamp	String(19)	R	时间点(是指发生时间）
        licensePlateNumber	String(32)	O	车牌号
        driver	String(32)	O	司机
        driverPhone	String(32)	O	司机电话
        province	String(20)	O	省
        city	String(20)	O	市
        county	String(20)	O	区
        address	String(256)	O	当前地址
        latitude	Number	O	当前纬度
        longitude	Number	O	当前经度
        elevation	Number	O	当前海拔
        latLongType	Int	O	坐标类型, 1:百度 2：高德 3：Google
        source	String(10)	R	位置信息来源。如人工维护、GPS、定点签到等
        remark	String(256)	O	备注信息
        traceType	Int	R	打卡类型：1.发车2.点到3.派送中
        入参示例

        {
            "waybillNo": "SF1223548122",
            "timestamp": 1561098516251,
            "licensePlateNumber": "粤B 888888",
            "driver": "李丰田",
            "driverPhone": "15985584758",
            "province": "广东省",
            "city": "深圳市",
            "county": "南山区",
            "address": "软件产业基地",
            "latitude": 22.62,
            "longitude": 114.07,
            "elevation": 10.52,
            "latLongType": 2,
            "source": "GPS",
            "remark": "",
            "traceType":2
        }
        返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码 详细错误代码列表参见：
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功
        */
    }
    /// <summary>
    /// 轨迹上传（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardUploadTrack
    {
        /// <summary>
        /// 是否成功
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 错误代码 详细错误代码列表参见：
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /*
        返回参数
        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码 详细错误代码列表参见：
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功
        */
    }

    #endregion 轨迹上传

    #region 支付结果通知地址

    /// <summary>
    /// 支付结果通知地址（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class ForwardPayNotifyRequest
    {
        /// <summary>
        /// 请求唯一号UUID
        /// 是
        /// String(40)
        /// </summary>
        public string requestID { set; get; }
        /// <summary>
        /// 接口服务代码 此处为面单推送接口服务码
        /// 是
        /// String(50)
        /// </summary>
        public string serviceCode { set; get; }
        /// <summary>
        /// 调用接口时间戳
        /// 是
        /// long
        /// </summary>
        public long timestamp { set; get; }
        /// <summary>
        /// 数字签名 同CP请求SF的加密方式相同
        /// 是
        /// String(128)
        /// </summary>
        public string msgDigest { set; get; }
        /// <summary>
        /// 业务数据报文
        /// 是
        /// String
        /// </summary>

        public string msgData { set; get; }
        /// <summary>
        /// 调用接口随机数 
        /// 否
        /// String
        /// </summary>
        public string nonce { set; get; }
    }
    /// <summary>
    /// 支付结果通知地址（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardPayNotify
    {
        /// <summary>
        /// 运单号	
        /// 是
        /// String
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 支付状态	0 未支付 11 已支付
        /// 是
        /// Int
        /// </summary>
        public int payStatus { set; get; }
        /// <summary>
        /// 支付流水号	可以用这个字段做幂等
        /// 是
        /// String
        /// </summary>
        public string outReqId { set; get; }
        /// <summary>
        /// 指定编码	FOWD_LTL
        /// 是
        /// String
        /// </summary>
        public string outSysCode { set; get; }
        /*
        SF->JYM 支付完成通知 客户扫二维码支付完成时，顺丰会通过这个接口通知供应商支付已完成。
        字段名	是否必须	类型	含义	备注
        waybillNo	Y	String	运单号	
        payStatus	Y	Int	支付状态	0 未支付 11 已支付
        outReqId	Y	String	支付流水号	可以用这个字段做幂等
        outSysCode	Y	String	指定编码	FOWD_LTL
        参数示例

        {
        “outSysCode”: “FOWD_LTL”,
        “outReqId”: “TSF1660016286047”,
        “payStatus”: 0,
        “finishedTime”: “2024-10-11 18:25:31”
        }
        */
    }
    /// <summary>
    /// 支付结果通知地址（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardPayNotify
    {
        /// <summary>
        /// 是否成功
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 错误代码 详细错误代码列表参见：
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /*
        返回参数

        属性名	参数类型	Required/Optional	描述
        errorCode	String	O	错误代码
        errorMessage	String	O	错误描述
        success	Boolean	R	是否成功, 返回”true”表示订单取消成功
        */
    }

    #endregion 支付结果通知地址

    #region 末端增加费用申请

    /// <summary>
    /// 末端增加费用申请（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardAddFeeApply
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 申请的费用类型	入仓垫付: 50
        /// 是
        /// String
        /// </summary>
        public int notSettableType { set; get; }
        /// <summary>
        /// 图片证明的URL	外网可访问的图片地址
        /// 是
        /// String
        /// </summary>
        public string reportImage { set; get; }
        /// <summary>
        /// 备注	最多为500个字
        /// 否
        /// String
        /// </summary>
        public string reportRemark { set; get; }
        /// <summary>
        /// 异常金额	需要多加的费用 
        /// 是
        /// String
        /// </summary>
        public decimal amount { set; get; }
        /*
        入参字段:

        字段名	是否必须	类型	含义	备注
        waybillNo	Y	String	运单号	
        notSettableType	Y	Int	申请的费用类型	入仓垫付: 50
        reportImage	Y	String	图片证明的URL	外网可访问的图片地址
        reportRemark	N	String	备注	最多为500个字
        amount	Y	BigDecimal	异常金额	需要多加的费用 
        */
    }
    /// <summary>
    /// 末端增加费用申请（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardAddFeeApply
    {
        /// <summary>
        /// 是否成功
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 错误代码 详细错误代码列表参见：
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /*
        入参字段:

        字段名	是否必须	类型	含义	备注
        waybillNo	Y	String	运单号	
        notSettableType	Y	Int	申请的费用类型	入仓垫付: 50
        reportImage	Y	String	图片证明的URL	外网可访问的图片地址
        reportRemark	N	String	备注	最多为500个字
        amount	Y	BigDecimal	异常金额	需要多加的费用
        返回字段

        字段名	是否必须	类型	含义	备注
        success	Y	Boolean	是否处理成功	
        errorCode	N	String	错误的时候可以返回错误码	
        errorMessage	N	String	错误原因 
        */
    }

    #endregion 末端增加费用申请

    #region 费用申请审核状态通知

    /// <summary>
    /// 费用申请审核状态通知（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class ForwardAddFeeNotifyRequest
    {
        /// <summary>
        /// 请求唯一号UUID
        /// 是
        /// String(40)
        /// </summary>
        public string requestID { set; get; }
        /// <summary>
        /// 接口服务代码 此处为面单推送接口服务码
        /// 是
        /// String(50)
        /// </summary>
        public string serviceCode { set; get; }
        /// <summary>
        /// 调用接口时间戳
        /// 是
        /// long
        /// </summary>
        public long timestamp { set; get; }
        /// <summary>
        /// 数字签名 同CP请求SF的加密方式相同
        /// 是
        /// String(128)
        /// </summary>
        public string msgDigest { set; get; }
        /// <summary>
        /// 业务数据报文
        /// 是
        /// String
        /// </summary>

        public string msgData { set; get; }
        /// <summary>
        /// 调用接口随机数 
        /// 否
        /// String
        /// </summary>
        public string nonce { set; get; }
    }
    /// <summary>
    /// 费用申请审核状态通知（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardAddFeeNotify
    {
        /// <summary>
        /// 运单号	
        /// 是
        /// String
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 申请的费用类型	入仓费: 50
        /// 是
        /// Int
        /// </summary>
        public int notSettableType { set; get; }
        /// <summary>
        /// 审核状态	
        /// 审核状态:
        /// @1.已通过；
        /// @2.已驳回
        /// 是
        /// String
        /// </summary>
        public string approvalStatus { set; get; }
        /// <summary>
        /// 审核意见
        /// 否
        /// String
        /// </summary>
        public string approvalContent { set; get; }
        /*
        入参字段:
        字段名	是否必须	类型	含义	备注
        waybillNo	Y	String	运单号	
        notSettableType	Y	Int	申请的费用类型	入仓费: 50
        approvalStatus	Y	String	审核状态	审核状态:
        @1.已通过；
        @2.已驳回
        approvalContent	N	String	审核意见		
        */
    }
    /// <summary>
    /// 费用申请审核状态通知（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardAddFeeNotify
    {
        /// <summary>
        /// 是否成功
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 错误代码 详细错误代码列表参见：
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /*	
        返回字段：

        字段名	是否必须	类型	含义	备注
        success	Y	Boolean	是否处理成功	
        errorCode	N	String	错误的时候可以返回错误码	
        errorMessage	N	String	错误原因	
        obj	N	CreateOrderResponse	业务报文	
        */
    }

    #endregion 费用申请审核状态通知

    #region 转寄回单下单

    /// <summary>
    /// 转寄回单下单（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardPlaceOrder
    {
        /// <summary>
        /// 运单号	
        /// 是
        /// List<String>
        /// </summary>
        public string[] waybillNos { set; get; }
        /// <summary>
        /// 寄件人姓名	
        /// 是
        /// String
        /// </summary>
        public string sendContact { set; get; }
        /// <summary>
        /// 寄件方手机号		
        /// 是
        /// String
        /// </summary>
        public string sendMobile { set; get; }
        /// <summary>
        /// 寄方省名称	
        /// 是
        /// String
        /// </summary>
        public string sendProvince { set; get; }
        /// <summary>
        /// 寄方市名称	
        /// 是
        /// String
        /// </summary>
        public string sendCity { set; get; }
        /// <summary>
        /// 寄方行政区名称	
        /// 是
        /// String
        /// </summary>
        public string sendCounty { set; get; }
        /// <summary>
        /// 寄方详细地址，不含省市区
        /// 是
        /// String
        /// </summary>
        public string sendAddress { set; get; }
        /*
        下回单（标快到付）

        Service_code:RFOP_RECE_FORWARD_PLACE_ORDER

        入参字段:

        字段名	是否必须	类型	含义	备注
        waybillNos	Y	List<String>	运单号	
        sendContact	Y	String	寄件人姓名	
        sendMobile	Y	String	寄件方手机号	
        sendProvince	Y	String	寄方省名称	
        sendCity	Y	String	寄方市名称	
        sendCounty	Y	String	寄方行政区名称	
        sendAddress	Y	String	寄方详细地址，不含省市区	
        返回字段
        字段名	是否必须	类型	含义	备注
        success	Y	Boolean	是否处理成功	
        errorCode	N	String	错误的时候可以返回错误码	
        errorMessage	N	String	错误原因	
        obj	N	CreateOrderResponse	业务报文
        */
    }
    /// <summary>
    /// 转寄回单下单（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardPlaceOrder
    {
        /// <summary>
        /// 是否成功
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 错误代码 详细错误代码列表参见：
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 业务报文
        /// 否
        /// CreateOrderResponse
        /// </summary>
        public ForwardPlaceOrderObj obj { set; get; }
        /*
        下回单（标快到付）

        Service_code:RFOP_RECE_FORWARD_PLACE_ORDER

        入参字段:

        字段名	是否必须	类型	含义	备注
        waybillNos	Y	List<String>	运单号	
        sendContact	Y	String	寄件人姓名	
        sendMobile	Y	String	寄件方手机号	
        sendProvince	Y	String	寄方省名称	
        sendCity	Y	String	寄方市名称	
        sendCounty	Y	String	寄方行政区名称	
        sendAddress	Y	String	寄方详细地址，不含省市区	
        返回字段
        字段名	是否必须	类型	含义	备注
        success	Y	Boolean	是否处理成功	
        errorCode	N	String	错误的时候可以返回错误码	
        errorMessage	N	String	错误原因	
        obj	N	CreateOrderResponse	业务报文
        */
    }

    #endregion 转寄回单下单

    #region 上报异常

    /// <summary>
    /// 上报异常（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardApplyOrderAB
    {
        /// <summary>
        /// 转寄供应商编码	复磅类型异常时必须
        /// 是
        /// String
        /// </summary>
        public string supplierCode { set; get; }
        /// <summary>
        /// 运单号
        /// 是
        /// String
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 上传时间
        /// 否
        /// String
        /// </summary>
        public string uploadTime { set; get; }
        /// <summary>
        /// 上传人
        /// 否
        /// String
        /// </summary>
        public string uploadOperator { set; get; }
        /// <summary>
        /// 异常状态	0、装货交接，1、运输打卡，2、货物运达
        /// 是
        /// Integer
        /// </summary>
        public int abnormalType { set; get; }
        /// <summary>
        /// 异常编码
        /// 是
        /// String
        /// </summary>
        public string abnormalCode { set; get; }
        /// <summary>
        /// 异常描述	
        /// 否
        /// String
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 重量	单位KG
        /// 否
        /// String
        /// </summary>
        public string weight { set; get; }
        /// <summary>
        /// 体积	单位立方厘米
        /// 否
        /// String
        /// </summary>
        public string volume { set; get; }
        /// <summary>
        /// 延迟天数
        /// 是
        /// Integer
        /// </summary>
        public int delayDays { set; get; }
        /// <summary>
        /// 图片URL	多图片以英文分号;分隔
        /// 否
        /// String
        /// </summary>
        public string picUrl { set; get; }
        /// <summary>
        /// 子件异常类型
        /// 否
        /// List<FoOrderAbnormalApplySub>
        /// </summary>
        public List<FoOrderAbnormalApplySub> subVolume { set; get; }
        /*
        FOP_RECE_FORWARD_APPLY_ORDER_ABNORMAL ？
        入参字段：

        字段名	是否必须	类型	含义	备注
        supplierCode	是	String	转寄供应商编码	复磅类型异常时必须
        waybillNo	是	String	运单号	
        uploadTime	否	String	上传时间	
        uploadOperator	否	String	上传人	
        abnormalType	是	Integer	异常状态	0、装货交接，1、运输打卡，2、货物运达
        abnormalCode	是	String	异常编码	
        remark	否	String	异常描述	
        weight	否	String	重量	单位KG
        volume	否	String	体积	单位立方厘米
        delayDays	否	Integer	延迟天数	
        picUrl	否	String	图片URL	多图片以英文分号;分隔
        subVolume	否	List<FoOrderAbnormalApplySub>	子件异常类型	
        以下四种异常编码影响时效，入参中delayDays不能为空
        SIGN_05
        SIGN_03
        TRANSITING_15
        SIGN_15
        以下两种异常编码影响复磅，入参的weight以及subVolume(子件异常信息不能为空)
        HANDOVER_06
        TRANSITING_17
        abnormalCode异常编码有如下：

        字段	对应异常状态编码	异常阶段	备注
        HANDOVER_01	0	装货交接	货物损坏
        HANDOVER_06	0	装货交接	复磅申诉
        HANDOVER_07	0	装货交接	疫情管控时效延误
        HANDOVER_08	0	装货交接	货物多件/少件
        TRANSITING_10	1	运输打卡	货物损坏
        TRANSITING_12	1	运输打卡	疫情管控时效延误
        TRANSITING_13	1	运输打卡	货物多件/少件
        TRANSITING_14	1	运输打卡	堵车
        TRANSITING_15	1	运输打卡	事故/封路
        TRANSITING_16	1	运输打卡	违禁品
        TRANSITING_17	1	运输打卡	复磅申诉
        SIGN_01	2	货物运达	堵车/事故/封路/天气等延误
        SIGN_03	2	货物运达	客户地址周末或节假日停止办公/营业
        SIGN_04	2	货物运达	无法联系上客户
        SIGN_05	2	货物运达	经客户同意，更改派送时间
        SIGN_07	2	货物运达	经客户同意，更改派送地址
        SIGN_13	2	货物运达	疫情管控时效延误
        SIGN_14	2	货物运达	违禁品
        SIGN_15	2	货物运达	入仓排队影响，时效延误
        SIGN_17	2	货物运达	客户拒收快件
        SIGN_18	2	货物运达	客户要求自取且已通知客户
        FoOrderAbnormalApplySub

        字段名	是否必须	类型	含义	备注
        length	否	String	长，厘米	
        width	否	String	宽，厘米	
        height	否	String	高，厘米	
        quantity	否	Integer	件数	
        */
    }
    /// <summary>
    /// 上报异常（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardApplyOrderAB
    {
        /// <summary>
        /// 是否成功
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 错误代码 详细错误代码列表参见：
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /*
        返回参数

        字段名	是否必须	类型	含义
        success	Y	Boolean	是否处理成功
        errorCode	N	String	错误的时候可以返回错误码
        errorMessage	N	String	错误原因
        */
    }

    #endregion 上报异常

    #region 获取支付的二维码

    /// <summary>
    /// 获取支付的二维码（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardStartPay
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 供应商编码
        /// 是
        /// String
        /// </summary>
        public string supplierCode { set; get; }
        /*
        请求参数
        字段名	Required/Optional	类型	含义
        msgData	R	String	运单对象信息
        clientCode	R	String	对接供应商的接入编码
        MsgData

        字段名	Required/Optional	类型	含义
        waybillNo	R	String	运单号
        supplierCode	R	String	供应商编码
        请求报文样例
        {“clientCode”:“YJMS”,
        “msgData”:"{“waybillNo”:“SF79202309010002”, “supplierCode”:“KYGYS201021001”}"
        }
        */
    }
    /// <summary>
    /// 获取支付的二维码（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardStartPay
    {
        /// <summary>
        /// 是否成功
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 错误代码 详细错误代码列表参见：
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /*
        返回参数

        字段名	Required/Optional	类型	含义
        errorCode	R	String	错误代码
        errorMessage	R	String	错误描述
        success	R	String	是否成功
        */
    }

    #endregion 获取支付的二维码

    #region 支付挂月结

    /// <summary>
    /// 支付挂月结（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardMonPay
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 供应商编码
        /// 是
        /// String
        /// </summary>
        public string supplierCode { set; get; }
        /// <summary>
        /// 月结卡号
        /// 否
        /// String
        /// </summary>
        public string monCode { set; get; }
        /// <summary>
        /// 月结卡号id与月结卡号一个必填
        /// 否
        /// String
        /// </summary>
        public string monCodeId { set; get; }
        /// <summary>
        /// 操作人
        /// 是
        /// String
        /// </summary>
        public string @operator { set; get; }
        /*
        JYM->SF支付与月结卡绑定
        请求参数

        字段名	Required/Optional	类型	含义
        clientCode	R	String	供应商对接码
        requestId	R	String	随机编码uuid
        msgData	R	String	
        msgData
        字段名	Required/Optional	类型	含义
        waybillNo	R	String	运单号
        supplierCode	R	String	供应商编码
        monCode	O	String	月结卡号
        monCodeId	O	String	月结卡号id与月结卡号一个必填
        operator	R	String	操作人
        参数示例
        {
        “clientCode”:“FOP-FOWD-CORE-DELIVERY”,
        “requestId”:“bd8658024c5d4e668629a537eba6fbcb”,
        “msgData”:"{“waybillNo”:“SF1063783917175”, “supplierCode”:“KYGYS201021001”,“monCode”:“24500005”,“monCodeId”:“1254”,“operator”:“TA163653”}"
        }
        */
    }
    /// <summary>
    /// 支付挂月结（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseForwardMonPay
    {
        /// <summary>
        /// 是否成功
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 错误代码 详细错误代码列表参见：
        /// 否
        /// String
        /// </summary>
        public string errorCode { set; get; }
        /*
        返回通用返回字段即可

        通用返回字段

        字段名	Required/Optional	类型	含义
        success	R	Boolean	是否处理成功
        errorCode	O	String	错误的时候可以返回错误码
        errorMessage	O	String	错误原因
        */
    }

    #endregion 支付挂月结

    #region 分拣码

    /// <summary>
    /// 分拣码（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestForwardQueryLabel
    {
        /// <summary>
        /// 系统来源
        /// 是
        /// Boolean
        /// </summary>
        public bool systemCode { set; get; }
        /// <summary>
        /// 供应商编码
        /// 是
        /// String
        /// </summary>
        public string supplierCode { set; get; }
        /// <summary>
        /// 运单号
        /// 是
        /// String
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 月结卡号
        /// 是
        /// String
        /// </summary>
        public string customerNo { set; get; }
        /// <summary>
        /// 始发省
        /// 是
        /// String
        /// </summary>
        public string sourceProvince { set; get; }
        /// <summary>
        /// 始发市
        /// 是
        /// String
        /// </summary>
        public string sourceCity { set; get; }
        /// <summary>
        /// 始发地3位城市编码
        /// 是
        /// String
        /// </summary>
        public string sourceCityCode { set; get; }
        /// <summary>
        /// 始发区
        /// 是
        /// String
        /// </summary>
        public string sourceCounty { set; get; }
        /// <summary>
        /// 始发地址
        /// 是
        /// String
        /// </summary>
        public string sourceAddress { set; get; }
        /// <summary>
        /// 网点编码
        /// 是
        /// String
        /// </summary>
        public string sourceDeptCode { set; get; }
        /// <summary>
        /// 目的省
        /// 是
        /// String
        /// </summary>
        public string destProvince { set; get; }
        /// <summary>
        /// 目的市
        /// 是
        /// String
        /// </summary>
        public string destCity { set; get; }
        /// <summary>
        /// 目的市三位城市编码
        /// 是
        /// String
        /// </summary>
        public string destCityCode { set; get; }
        /// <summary>
        /// 目的区
        /// 是
        /// String
        /// </summary>
        public string destCounty { set; get; }
        /// <summary>
        /// 目的地址
        /// 是
        /// String
        /// </summary>
        public string destAddress { set; get; }
        /// <summary>
        /// 目的地网点编码
        /// 是
        /// String
        /// </summary>
        public string destDeptCode { set; get; }
        /// <summary>
        /// 产品代码
        /// 是
        /// String
        /// </summary>
        public string productCode { set; get; }
        /// <summary>
        /// 实际重量，单位kg
        /// 是
        /// String
        /// </summary>
        public string actualWeight { set; get; }
        /// <summary>
        /// 实际体积，单位立方米
        /// 是
        /// String
        /// </summary>
        public string actualVolume { set; get; }
        /*
        字段名	是否必须	类型	含义
        partnerID	Y	String	直连供应商的接入码（供应商简称首字母拼接）
        serviceCode	Y	String	系统编码：FOP_PUSH_FORWARD_QUERY_LABEL
        ak	Y	String	对应的ServiceAk
        timestamp	Y	long	时间戳
        requestID	Y	String	唯一编码
        msgData	Y	String	参数
        msgData
        字段名	是否必须	类型	含义
        systemCode	Y	Boolean	系统来源
        supplierCode	Y	String	供应商编码
        waybillNo	Y	String	运单号
        customerNo	Y	String	月结卡号
        sourceProvince	Y	String	始发省
        sourceCity	Y	String	始发市
        sourceCityCode	Y	String	始发地3位城市编码
        sourceCounty	Y	String	始发区
        sourceAddress	Y	String	始发地址
        sourceDeptCode	Y	String	网点编码
        destProvince	Y	String	目的省
        destCity	Y	String	目的市
        destCityCode	Y	String	目的市三位城市编码
        destCounty	Y	String	目的区
        destAddress	Y	String	目的地址
        destDeptCode	Y	String	目的地网点编码
        productCode	Y	String	产品代码
        actualWeight	Y	String	实际重量，单位kg
        actualVolume	Y	String	实际体积，单位立方米
        返回字段
        字段名	是否必须	类型	含义
        successCode	Y	String	是否处理成功 A1000 成功
        apiErrorMsg	N	String	错误原因
        apiResultData	N	String	分拣码
        */
    }
    /// <summary>
    /// 分拣码（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class ResponseForwardQueryLabel
    {
        /// <summary>
        /// 是否处理成功 A1000 成功
        /// 是
        /// String
        /// </summary>
        public string successCode { set; get; }
        /// <summary>
        /// 错误原因
        /// 否
        /// String
        /// </summary>
        public string apiErrorMsg { set; get; }
        /// <summary>
        /// 分拣码
        /// 否
        /// String
        /// </summary>
        public string apiResultData { set; get; }
        /*
        返回字段
        字段名	是否必须	类型	含义
        successCode	Y	String	是否处理成功 A1000 成功
        apiErrorMsg	N	String	错误原因
        apiResultData	N	String	分拣码
        */
    }

    #endregion 分拣码

    #endregion 转寄外发类

    #region 跨境大件类

    #region 给代理商下单

    /// <summary>
    /// 给代理商下单（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class PushI18nOrderRequest
    {
        /// <summary>
        /// 物流公司代码，SF代表顺丰
        /// 是
        /// String(20)
        /// </summary>
        public string logisticID { set; get; }
        /// <summary>
        /// 请求唯一号UUID
        /// 是
        /// String(40)
        /// </summary>
        public string requestID { set; get; }
        /// <summary>
        /// 接口服务代码
        /// 是
        /// String(50)
        /// </summary>
        public string serviceCode { set; get; }
        /// <summary>
        /// 调用接口时间戳
        /// 是
        /// long
        /// </summary>
        public long timestamp { set; get; }
        /// <summary>
        /// 数字签名
        /// 是
        /// String(128)
        /// </summary>
        public long msgDigest { set; get; }
        /// <summary>
        /// 业务数据报文，参见**OrderRequest** 
        /// 是
        /// MsgDataRequestPushI18nOrder
        /// </summary>
        public MsgDataRequestPushI18nOrder msgData { set; get; }
    }

    /// <summary>
    /// 给代理商下单（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestPushI18nOrder
    {
        /// <summary>
        /// 关联的顺丰母单号
        /// 是
        /// String(15)
        /// </summary>
        public string referenceNo { set; get; }
        /// <summary>
        /// 收货信息，参见**Addr**
        /// 是
        /// Addr对象
        /// </summary>
        public ReceiverAddr receiver { set; get; }
        /// <summary>
        /// 下单件数
        /// 是
        /// Number(10)
        /// </summary>
        public int quantity { set; get; }
        /// <summary>
        /// 包裹明细， 参见**Cargo**
        /// 是
        /// Array
        /// </summary>
        public List<CargoDTO> cargos { set; get; }
        /// <summary>
        /// 渠道名称
        /// 是
        /// String(50)
        /// </summary>
        public string productCode { set; get; }
        /// <summary>
        /// 报关方式，参考附件2：物流服务枚举
        /// agent_declear(“非报关件”),
        /// customer_declear(“出口正式报关”)
        /// 否
        /// String(20)
        /// </summary>
        public string customsType { set; get; }
        /// <summary>
        /// 货物类型，参考附件2：物流服务枚举
        /// 1(“普货”),
        /// 2(“电池货物”)
        /// 3(“带磁货物”)
        /// 4(“带磁带电货物”)
        /// 是
        /// Number(1)
        /// </summary>
        public int cargoType { set; get; }
        /// <summary>
        /// 包税类型，参考附件2：物流服务枚举
        /// 清关方式
        /// taxContainType	
        /// 1(“关税预付”),
        /// 2(“关税不预付”)
        /// 3(“PVA递延”)
        /// 否
        /// Number(1)
        /// </summary>
        public int taxContainType { set; get; }
        /// <summary>
        /// 干线运输方式
        /// carrier_mason(“carrier_mason”, “美森正班快船”),
        /// carrier_mason_ad_hoc(“carrier_mason_ad_hoc”, “美森统配快船”), carrier_mason_timing(“carrier_mason_timing”, “美森定时达”),
        /// carrier_zim(“carrier_zim”, “以星快船”),
        /// carrier_evergreen(“carrier_evergreen”, “长荣快船”),
        /// carrier_general(“carrier_general”, “海运普船”),
        /// air_line(“air_line”, “空运专线”),
        /// carrier_fixed_pick_up(“carrier_fixed_pick_up”, “普船定提”),
        /// carrier_general_express(“carrier_general_express”, “普船快线”)。
        /// 否
        /// String(20)
        /// </summary>
        public string shippingCode { set; get; }
        /// <summary>
        /// 启运地，参考附件2：物流服务枚举
        /// 86(“大陆飞”)
        /// 852(“香港飞”)
        /// 否
        /// String(20)
        /// </summary>
        public string departCode { set; get; }
        /// <summary>
        /// 扩展字段，包含key和value属性
        /// 否
        /// Array<String, String>
        /// </summary>
        public List<ExtraMap> extraMap { set; get; }
        /// <summary>
        /// 申报总价值
        /// 否
        /// Number
        /// </summary>
        public decimal totalDeclaredValue { set; get; }
        /// <summary>
        /// 申报总价值货币编码，参考附件2：物流服务枚举
        /// CNY(“人民币”)
        /// USD(“美元”)
        /// HKD(“港币”)
        /// EUR(“欧元”)
        /// 否
        /// String(32)
        /// </summary>
        public string declaredValueCode { set; get; }
        /// <summary>
        /// 货物追踪编号，德立信必填
        /// 否
        /// String
        /// </summary>
        public string referenceId { set; get; }
        /// <summary>
        /// 下单备注
        /// 否
        /// String(200)
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// FBA信息列表， 参见**[BillFBADTO]
        /// 否
        /// Array
        /// </summary>
        public List<BillFBADTO> billFBADTOList { set; get; }
        /// <summary>
        /// 派送方式
        /// UPS(“UPS”),
        /// FEDEX(“FEDEX”)
        /// DHL(“DHL”)
        /// express(“快递”)
        /// Trucking(“卡车”)
        /// NULL(“无”)
        /// 否
        /// String(20)
        /// </summary>
        public string terminalCarrierCode { set; get; }
        /// <summary>
        /// 仓库代码
        /// 否
        /// String(20)
        /// </summary>
        public string warehouseCode { set; get; }
        /// <summary>
        /// 子单号
        /// 否
        /// Array<String>
        /// </summary>
        public string[] subWaybillNos { set; get; }
        /// <summary>
        /// 子包裹信息， 参见**[BillConsignDTO]
        /// 否
        /// Array
        /// </summary>
        public List<BillConsignDTO> subConsigns { set; get; }
        /*
        1. 业务介绍
        跨境业务需要顺丰合作伙伴完成清关处理。顺丰合作伙伴完成 从国内报关开始，到境外的派送为止。

        这些流程环节需要顺丰合作伙伴提供除了下单入口以外，还需要回传 揽收的货物、货物尺寸、包裹的路由 等信息，另外如果不能提供回传包裹信息接口，就需要提供包裹查询接口。

        2. 接口清单
        #	接口名称	    Service Code	        调用方	接收方
        1	给代理商下单	FOP_PUSH_I18N_ORDER	    SF	    CP
        2	回传尺寸信息	FOP_RECE_I18N_DIMENSION	CP	    SF
        3	获取包裹详情	FOP_PUSH_I18N_PACKAGE	SF	    CP
        4	回传包裹详情	FOP_RECE_I18N_PACKAGE	CP	    SF
        3. 接口详细描述
        SF对接使用的是内部统一标准协议，协议参见《顺丰统一接入平台对接规范》。

        3.1 给代理商下单
        该接口用于顺丰快运给顺丰合作伙伴下订单，用于顺丰合作伙伴双清和结算的凭证。当客户确定走货后，顺丰快运将调用此接口。

        请求参数

        属性名	参数类型	Required/Optional	描述
        logisticID	String(20)	R	物流公司代码，SF代表顺丰
        requestID	String(40)	R	请求唯一号UUID
        serviceCode	String(50)	R	接口服务代码
        timestamp	long	R	调用接口时间戳
        msgDigest	String(128)	R	数字签名
        msgData		R	业务数据报文，参见**OrderRequest**
        OrderRequest 属性字段

        属性名	参数类型	Required/Optional	描述
        referenceNo	String(15)	R	关联的顺丰母单号
        receiver	Addr对象	R	收货信息，参见**Addr**
        quantity	Number(10)	R	下单件数
        cargos	Array	R	包裹明细， 参见**Cargo**
        productCode	String(50)	R	渠道名称
        customsType	String(20)	O	报关方式，参考附件2：物流服务枚举
        cargoType	Number(1)	R	货物类型，参考附件2：物流服务枚举
        taxContainType	Number(1)	O	包税类型，参考附件2：物流服务枚举
        shippingCode	String(20)	O	干线运输方式
        departCode	String(20)	O	启运地，参考附件2：物流服务枚举
        extraMap	Array<String, String>	O	扩展字段，包含key和value属性
        totalDeclaredValue	Number	O	申报总价值
        declaredValueCode	String(32)	O	申报总价值货币编码，参考附件2：物流服务枚举
        referenceId	String	O	货物追踪编号，德立信必填
        remark	String(200)	O	下单备注
        billFBADTOList	Array	O	FBA信息列表， 参见**[BillFBADTO]
        terminalCarrierCode	String(20)	O	派送方式
        warehouseCode	String(20)	O	仓库代码
        subWaybillNos	Array<String>	O	子单号
        subConsigns	Array	O	子包裹信息， 参见**[BillConsignDTO]
        Addr属性字段

        属性名	参数类型	Required/Optional	描述
        company	String(100)	O	公司名称
        contact	String(100)	R	联系人
        i18nAreaCode	String(10)	R	手机号国际电话区号
        mobile	String(20)	R	联系人手机号
        countryCode	String(10)	R	国家编码 ，参考附件1-收货国家/地区
        province	String(30)	O	省/州
        city	String(30)	R	城市
        county	String(30)	O	区
        address	String(200)	R	详细地址，收件类型是私人地址时必填
        postCode	String(20)	R	邮编
        warehouseCode	String(20)	O	FBA仓库编码，收件类型是FBA仓库必填
        Cargo 属性字段

        属性名	参数类型	Required/Optional	描述
        boxNo	String(30)	O	包裹号，一般为FBA箱号
        length	Number(16,2)	R	包裹长（cm），下单尺寸
        width	Number(16,2)	R	包裹宽（cm），下单尺寸
        height	Number(16,2)	R	包裹高（cm），下单尺寸
        weight	Number(16,2)	R	包裹重量(kg），下单尺寸
        SKU	String(200)	O	SKU
        englishName	String(200)	O	英文品名
        chineseName	String(200)	O	中文品名
        brand	String(200)	O	品牌
        model	String(200)	O	型号
        chineseMaterial	String(200)	O	中文材质
        englishMaterial	String(200)	O	英文材质
        purpose	String(200)	O	用途
        packing	String(200)	O	包装
        customsCode	String(20)	O	海关编码
        numberOfBoxes	String(20)	O	每箱个数
        declaredValue	BigDecimal	O	单个产品申报价值
        declaredTotalValue	BigDecimal	O	申报总价值
        extraMap	Array<String, String>	O	扩展字段，包含key和value属性
        salesURL	String(50)	O	销售链接
        BillFBADTO属性字段

        属性名	参数类型	Required/Optional	描述
        fbaNo	String(20)	O	FBA编号
        trackingNo	String(20)	O	货件追踪编号
        BillConsignDTO属性字段

        属性名	参数类型	Required/Optional	描述
        length	Number(16,2)	R	包裹长（cm），下单尺寸
        width	Number(16,2)	R	包裹宽（cm），下单尺寸
        height	Number(16,2)	R	包裹高（cm），下单尺寸
        weight	Number(16,2)	R	包裹重量(kg），下单尺寸
        SKU	String(200)	O	SKU
        englishName	String(200)	O	英文品名
        chineseName	String(200)	O	中文品名
        brand	String(200)	O	品牌
        model	String(200)	O	型号
        chineseMaterial	String(200)	O	中文材质
        englishMaterial	String(200)	O	英文材质
        purpose	String(200)	O	用途
        packing	String(200)	O	包装
        customsCode	String(20)	O	海关编码
        numberOfBoxes	String(20)	O	每箱个数
        declaredValue	BigDecimal	O	单个产品申报价值
        declaredTotalValue	BigDecimal	O	申报总价值
        salesURL	String(50)	O	销售链接
        附件1：收货国家/地区编码
        与大件跨境下单接口内附件一致https://open.sf-express.com/Api/ApiDetails?level3=728&interName=%E5%A4%A7%E4%BB%B6%E8%B7%A8%E5%A2%83%E4%B8%8B%E5%8D%95-FOP_RECE_IFOS_PLACE_ORDER

        字段	枚举
        收件国家/地区（持续补充中）

        receiverAddressDTO.country	AF(“阿富汗”)
        AL(“阿尔巴尼亚”)
        DZ(“阿尔及利亚”)
        AD(“安道尔共和国”)
        AU(“澳大利亚”)
        AT(“奥地利”)
        AZ(“阿塞拜疆”)
        BH(“巴林”)
        BD(“孟加拉国”)
        BY(“白俄罗斯”)
        BE(“比利时”)
        BT(“不丹”)
        BA(“波斯尼亚和黑塞哥维那”)
        BN(“文莱”)
        BG(“保加利亚”)
        KH(“柬埔寨”)
        CA(“加拿大”)
        HR(“克罗地亚”)
        CY(“塞浦路斯”)
        CZ(“捷克”)
        AT(“奥地利”),
        BE(“比利时”),
        CA(“加拿大”),
        DE(“德国”),
        GB(“英国”),
        GR(“希腊”),
        IT(“意大利”),
        JP(“日本”),
        RU(“俄罗斯”),
        US(“美国”),
        VN(“越南”)
        附件2：物流服务枚举
        与大件跨境下单接口内附件一致https://open.sf-express.com/Api/ApiDetails?level3=728&interName=%E5%A4%A7%E4%BB%B6%E8%B7%A8%E5%A2%83%E4%B8%8B%E5%8D%95-FOP_RECE_IFOS_PLACE_ORDER

        字段	枚举
        干线运输方式

        shippingCode	carrier_mason(“carrier_mason”, “美森正班快船”),
        carrier_mason_ad_hoc(“carrier_mason_ad_hoc”, “美森统配快船”), carrier_mason_timing(“carrier_mason_timing”, “美森定时达”),
        carrier_zim(“carrier_zim”, “以星快船”),
        carrier_evergreen(“carrier_evergreen”, “长荣快船”),
        carrier_general(“carrier_general”, “海运普船”),
        air_line(“air_line”, “空运专线”),
        carrier_fixed_pick_up(“carrier_fixed_pick_up”, “普船定提”),
        carrier_general_express(“carrier_general_express”, “普船快线”)。
        付款方式

        settlementTypeCode	1(“寄付现结”),
        2(“寄付月结”)
        收货地址类型

        receiverType	1(“FBA仓库”),
        2(“非FBA地址”)
        货物类型

        cargo.cargoType	1(“普货”),
        2(“电池货物”)
        3(“带磁货物”)
        4(“带磁带电货物”)
        申报总价值货币编码

        declaredValueCode	CNY(“人民币”),
        USD(“美元”)
        HKD(“港币”)
        EUR(“欧元”)
        产品类型

        productType	A100(“FBA跨境特快”)
        A101(“FBA跨境标快”)
        S100(“FBA跨境快船”)
        S101(“FBA跨境普船”)
        S103(“跨境整柜”)
        L100(“跨境卡航”)
        L101(“跨境中欧班列”)
        T100(“海运标快”)
        S108(“跨境超大件-快船”)
        S109(“跨境超大件-普船”)
        报关方式

        customsType	agent_declear(“非报关件”),
        customer_declear(“出口正式报关”)
        派送方式

        terminalCarrierCode	UPS(“UPS”),
        FEDEX(“FEDEX”)
        DHL(“DHL”)
        express(“快递”)
        Trucking(“卡车”)
        NULL(“无”)
        清关方式

        taxContainType	1(“关税预付”),
        2(“关税不预付”)
        3(“PVA递延”)
        启运地

        departCode	86(“大陆飞”)
        852(“香港飞”)
        申报总价值货币编码

        declaredValueCode	CNY(“人民币”)
        USD(“美元”)
        HKD(“港币”)
        EUR(“欧元”)
        货物类型

        cargoType	1(“普货”)
        2(“电池货物”)
        3(“带磁货物”)
        4(“带磁带电货物”)
        请求数据示例：

        POST https://<cp服务域名>/<服务path> HTTP/1.1
        Content-Type: application/x-www-form-urlencoded;charset=UTF-8

        logisticID=SF&requestID=requestID&serviceCode=FOP_PUSH_I18N_ORDER&timestamp=112500000&msgDigest=msgDigest&nonce=4678965&msgData=
        {
            "cargoType":3,
            "cargos":[
                {"boxNo":"FBA17XXTLC12U000001","brand":"无","chineseMaterial":"橡胶","chineseName":"遮雨挡","customsCode":"3926300000","declaredTotalValue":192.0000000000,"declaredValue":2.3,"englishMaterial":"Rubber","englishName":"Rain-proof rubber baffle","height":41.0000,"length":51.0000,"model":"无","numberOfBoxes":"20","packing":"纸箱","purpose":"挡雨","weight":13.800,"width":41.0000},
                {"boxNo":"FBA17XXTLC12U000002","brand":"无","chineseMaterial":"塑料","chineseName":"卡扣","customsCode":"3917400000","declaredTotalValue":39.0000000000,"declaredValue":1.3,"englishMaterial":"Plastic","englishName":"Buckle","height":41.0000,"length":51.0000,"model":"无","numberOfBoxes":"30","packing":"纸箱","purpose":"紧固","weight":8.900,"width":41.0000},
                {"boxNo":"FBA17XXTLC12U000003","brand":"无","chineseMaterial":"铁","chineseName":"脚踏板","customsCode":"8452901900","declaredTotalValue":60.0000000000,"declaredValue":1.5,"englishMaterial":"Iron","englishName":"Footpedal","height":41.0000,"length":51.0000,"model":"无","numberOfBoxes":"40","packing":"纸箱","purpose":"刹车","weight":17.500,"width":41.0000},
                {"boxNo":"FBA17XXTLC12U000004","brand":"无","chineseMaterial":"铁","chineseName":"喇叭","customsCode":"8512100000","declaredTotalValue":36.0000000000,"declaredValue":1.8,"englishMaterial":"Iron","englishName":"Trumpet","height":41.0000,"length":51.0000,"model":"无","numberOfBoxes":"20","packing":"纸箱","purpose":"发声，震动","weight":12.600,"width":41.0000},
                {"boxNo":"FBA17XXTLC12U000005","brand":"无","chineseMaterial":"铁","chineseName":"喇叭","customsCode":"8512100000","declaredTotalValue":18.0000000000,"declaredValue":1.8,"englishMaterial":"Iron","englishName":"Trumpet","height":41.0000,"length":51.0000,"model":"无","numberOfBoxes":"10","packing":"纸箱","purpose":"发声，震动","weight":12.400,"width":41.0000},
                {"boxNo":"FBA17XXTLC12U000006","brand":"无","chineseMaterial":"塑料","chineseName":"杯架","customsCode":"3924100000","declaredTotalValue":24.0000000000,"declaredValue":1.2,"englishMaterial":"Plastic","englishName":"Cupholder","height":41.0000,"length":51.0000,"model":"无","numberOfBoxes":"20","packing":"纸箱","purpose":"隔热","weight":7.300,"width":41.0000},
                {"boxNo":"FBA17XXTLC12U000007","brand":"无","chineseMaterial":"塑料","chineseName":"装饰盖","customsCode":"3926400000","declaredTotalValue":30.0000000000,"declaredValue":1.5,"englishMaterial":"Plastic","englishName":"Decorativelid","height":41.0000,"length":51.0000,"model":"无","numberOfBoxes":"20","packing":"纸箱","purpose":"密封","weight":15.300,"width":41.0000},
                {"boxNo":"FBA17XXTLC12U000008","brand":"无","chineseMaterial":"ABS 塑料 玻璃","chineseName":"化妆镜","customsCode":"8306300000","declaredTotalValue":36.0000000000,"declaredValue":1.8,"englishMaterial":"ABS plastic, glass","englishName":"Makeup Mirror","height":41.0000,"length":51.0000,"model":"无","numberOfBoxes":"20","packing":"纸箱","purpose":"反射","weight":5.300,"width":41.0000},
                {"boxNo":"FBA17XXTLC12U000009","brand":"无","chineseMaterial":"塑料","chineseName":"车钩","customsCode":"8607300000","declaredTotalValue":66.0000000000,"declaredValue":2.2,"englishMaterial":"Plastic","englishName":"Couplers","height":41.0000,"length":51.0000,"model":"无","numberOfBoxes":"30","packing":"纸箱","purpose":"挂物品","weight":19.500,"width":41.0000},
                {"boxNo":"FBA17XXTLC12U000010","brand":"无","chineseMaterial":"塑料","chineseName":"解码器","customsCode":"8471419000","declaredTotalValue":130.0000000000,"declaredValue":2.6,"englishMaterial":"Plastic","englishName":"Decoder","height":41.0000,"length":51.0000,"model":"无","numberOfBoxes":"50","packing":"纸箱","purpose":"消除信号干扰","weight":15.700,"width":41.0000}
            ],
            "customsType":"agent_declear",
            "declaredValueCode":"USD",
            "departCode":"86",
            "productCode":"深圳UPS5000(红单服务）",
            "quantity":10,
            "receiver":{"city":"Los Angeles","company":"","contact":"AMAZON.COM","countryCode":"US","mobile":"DEEQAVTiWCKqwAlMtYYanMzfldwds%3D","postCode":"91321","province":"California","warehouseCode":"XLX3"},
            "referenceId":"",
            "referenceNo":"SF1310231623996",
            "remark":"",
            "totalDeclaredValue":631.000000
        }
        响应参数

        ** 属性字段**

        属性名	参数类型	Required/Optional	描述
        errorCode	String(20)	R	错误编码
        errorMessage	Array<String>	O	错误信息
        success	boolean	R	是否成功：true或者false
        obj	String	R	业务处理详细结果，参见**OrderResponse**
        OrderResponse 属性字段

        属性名	参数类型	Required/Optional	描述
        orderNo	String(20)	R	订单号
        subNos	Array<String>	O	子单号列表
        referenceNo	String(20)	O	查单号，查单根据这个标识来查
        响应数据示例：

        Content-Type: application/json; charset=utf-8

        {
            "errorCode": null,
            "errorMessage": null,
            "obj": {
                "orderNo": "orderNo",
                "subNos": [
                    "subNo"
                ],
                "referenceNo": ""
            },
            "success": true
        }
        注意事项
        1、根据顺丰母单号referenceNo做幂等。如果已经下过单了，不要报错，直接返回你们的运单信息。因为这个接口有时效性，如果你的下单接口没有在指定时间内返回，我们就认为失败了，然后会重推。
        2、测试环境联调信息：客户编码：API_ON_SHELVES，校验码：1IMROMBJLN16SJSMEZZJKE5TGAL25HIA（若是校验数字签名时需要用到）
        2、通讯双方采用 http POST 方法作为通讯协议，请求头必须添加：Content-type: application/json;charset=UTF-8，字符集编码统一使用 UTF-8。 
        */
    }
    /// <summary>
    /// 给代理商下单（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponsePushI18nOrder
    {
        /// <summary>
        /// 是否成功：true或者false
        /// 是
        /// boolean
        /// </summary>
        public bool success { set; get; }
        /// <summary>
        /// 错误编码
        /// 是
        /// String(20)
        /// </summary>
        public string errorCode { set; get; }
        /// <summary>
        /// 错误信息
        /// 否
        /// Array<String>
        /// </summary>
        public string errorMessage { set; get; }
        /// <summary>
        /// 业务处理详细结果，参见**OrderResponse**
        /// 是
        /// object
        /// </summary>
        public PushI18nOrderObj obj { set; get; }
        /*
        响应参数

        ** 属性字段**

        属性名	参数类型	Required/Optional	描述
        errorCode	String(20)	R	错误编码
        errorMessage	Array<String>	O	错误信息
        success	boolean	R	是否成功：true或者false
        obj	String	R	业务处理详细结果，参见**OrderResponse**
        OrderResponse 属性字段

        属性名	参数类型	Required/Optional	描述
        orderNo	String(20)	R	订单号
        subNos	Array<String>	O	子单号列表
        referenceNo	String(20)	O	查单号，查单根据这个标识来查
        响应数据示例：

        Content-Type: application/json; charset=utf-8

        {
            "errorCode": null,
            "errorMessage": null,
            "obj": {
                "orderNo": "orderNo",
                "subNos": [
                    "subNo"
                ],
                "referenceNo": ""
            },
            "success": true
        } 
        */
    }

    #endregion 给代理商下单

    #region 箱单发票上传

    #endregion 箱单发票上传

    #region 代理商上报轨迹

    /// <summary>
    /// 代理商上报轨迹（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestI18nTraceReport
    {
        /// <summary>
        /// 顺丰母单号
        /// 是	
        /// string
        /// </summary>
        public string referenceNo { set; get; }
        /// <summary>
        /// 动态路由信息，顺序全部以降序存放，参见 Route
        /// 是	
        /// array
        /// </summary>
        public List<RouteDTO> routes { set; get; }
        /// <summary>
        /// 基本路由信息，参见 BaseRoute
        /// 是	
        /// array
        /// </summary>
        public List<BaseRoute> baseRoutes { set; get; }
        /*	
        2.3. 请求参数
        msgData

        属性名	必填	类型	描述
        referenceNo	是	string	顺丰母单号
        routes	是	array	动态路由信息，顺序全部以降序存放，参见 Route
        baseRoutes	是	array	基本路由信息，参见 BaseRoute
        Route

        属性名	必填	类型	描述
        opTime	是	Long	操作时间
        opDesc	是	string	操作描述(路由文本内容)
        mileStone	否	string	里程碑，详见里程碑
        BaseRoute

        属性名	必填	类型	描述
        serviceType	否	String	业务类型[TransferNo:转单号；ShipNo:船名+预计时间；FlightNo:航班]
        transferNo	否	string	转单号。业务类型为TransferNo时必填
        shipNo	否	string	船名。业务类型为ShipNo时必填
        flightNo	否	string	航班。业务类型为FlightNo时必填
        etd	否	string	预计离岸时间，格式为YYYY-MM-DD hh:mm:ss
        eta	否	string	预计到岸时间，格式为YYYY-MM-DD hh:mm:ss
        里程碑
        共 9 个状态，是枚举集合，各状态表示物流事件发生过的情况，里程碑可以表达事件发生的历史过程。

        枚举值	描述
        InfoReceived	收到信息，运输商收到商家的下单信息，等待上门取件。
        PickedUp	揽收，运输商收取商家的包裹。
        Departure	离港，离开发件国港口
        Arrival	到港，到达收件国港口
        AvailableForPickup	到达待取，包裹已经到达目的地的投递点，需要收件人自取。
        OutForDelivery	派送途中，包裹正在投递过程中。
        Delivered	成功签收，包裹已妥投。
        Returned	退件，包裹已经完成退件操作。
        Returning	退件中，包裹在处理，但不保证处理完会转成"退件"状态。
        请求报文 （msgData字段）:

        {
            "partnerID": "FZWLNPBHWDG",
            "requestID": "f349d15e-e624-8061-1d27-98a5cd32c297",
            "serviceCode": "FOP_RECE_IFOS_PLACE_ORDER",
            "timestamp": 1721705500,
            "msgDigest": "",
            "accessToken": "5FF1ADD662114F25B3A8D2BBDF21EF8C",
            "clientCode": "TWTH",
            "msgData": {
                "referenceNo": "SF3110000439558",
                "routes": [
                    {
                        "opTime": 1721957046000,
                        "opDesc": "订单创建",
                        "mileStone": "InfoReceived"
                    },
                    {
                        "opTime": 1721995283000,
                        "opDesc": "已入库",
                        "mileStone": "PickedUp"
                    },
                    {
                        "opTime": 1722421441000,
                        "opDesc": "已装柜",
                        "mileStone": null
                    },
                    {
                        "opTime": 1722421602000,
                        "opDesc": "已出库",
                        "mileStone": null
                    },
                    {
                        "opTime": 1722422990000,
                        "opDesc": "船名航次：OOCL BANGKOK 061E ，起运港：盐田 目的港：纽约",
                        "mileStone": null
                    },
                    {
                        "opTime": 1722423008000,
                        "opDesc": "ETD8-04 ETA9-03",
                        "mileStone": null
                    },
                    {
                        "opTime": 1722499874000,
                        "opDesc": "8-01已报关放行",
                        "mileStone": null
                    },
                    {
                        "opTime": 1722736260000,
                        "opDesc": "8-04已开航",
                        "mileStone": "Departure"
                    },
                    {
                        "opTime": 1725412920000,
                        "opDesc": "9-04已到港，待卸船",
                        "mileStone": "Arrival"
                    },
                    {
                        "opTime": 1725413880000,
                        "opDesc": "9-04已清关放行",
                        "mileStone": null
                    },
                    {
                        "opTime": 1725585480000,
                        "opDesc": "9-06已卸船",
                        "mileStone": null
                    },
                    {
                        "opTime": 1725846360000,
                        "opDesc": "9-09已提柜",
                        "mileStone": null
                    }
                ],
                "baseRoutes": [
                    {
                        "serviceType": "TransferNo",
                        "transferNo": "1Z8123456789"
                    },
                    {
                        "serviceType": "ShipNo",
                        "shipNo": "OOCL BANGKOK 061E",
                        "etd": "2024-08-04 00:00:00",
                        "eta": "2024-09-03 00:00:00"
                    }
                ]
            }
        }
        */
    }
    /// <summary>
    /// 代理商上报轨迹（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class ResponseI18nTraceReport
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*	
        成功返回示例的参数说明
        参数名	类型	说明
        errorCode	string	错误编码
        errorMessage	string	错误信息
        success	string	是否成功，成功true，失败false
        2.7. 返回示例\应用场景(JSON)示例
        响应报文:

         {
            "business": null,
            "date": 1726041376104,
            "errorCode": null,
            "errorMessage": null,
            "obj": null,
            "success": true
        }
        3.1. 错误代码
        3.1 （API）平台结果代码列表
        标识	说明
        A1000	统一接入平台校验成功，调用后端服务成功； 注意：不代表后端业务处理成功，实际业务处理结果， 需要查看响应属性apiResultData中的详细结果
        A1001	必传参数不可为空
        A1002	请求时效已过期
        A1003	IP无效
        A1004	无对应服务权限
        A1005	流量受控
        A1006	数字签名无效
        A1007	重复请求
        A1008	数据解密失败
        A1009	目标服务异常或不可达
        A1099	系统异常
        */
    }

    #endregion 代理商上报轨迹

    #region 大件跨境下单

    /// <summary>
    /// 大件跨境下单（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestIfosPlaceOrder
    {
        /// <summary>
        /// VAT注册号
        /// 否
        /// string
        /// </summary>
        public string vatRegisterNo { set; get; }
        /// <summary>
        /// VAT注册公司名称
        /// 否
        /// string
        /// </summary>
        public string vatRegisterCompany { set; get; }
        /// <summary>
        /// VAT注册公司地址
        /// 否
        /// string
        /// </summary>
        public string vatRegisterCompanyAddr { set; get; }
        /// <summary>
        /// EORI
        /// 否
        /// string
        /// </summary>
        public string EORI { set; get; }
        /// <summary>
        /// Amazon referance ID（=追踪编号）
        /// 否
        /// string
        /// </summary>
        public string amazonReferanceID { set; get; }
        /// <summary>
        /// 付款方式：1寄付现结 2寄付月结
        /// 是
        /// string
        /// </summary>
        public string settlementTypeCode { set; get; }
        /// <summary>
        /// 月结卡号(寄付月结则必填)
        /// 否
        /// string
        /// </summary>
        public string customerAccount { set; get; }
        /// <summary>
        /// 装箱单发票（建议线下交接）
        /// 否
        /// object
        /// </summary>
        public InvoiceFile invoiceFile { set; get; }
        /// <summary>
        /// 收件地址类型 （1.FBA仓库，2.非FBA地址）
        /// 是
        /// string
        /// </summary>
        public string receiverType { set; get; }
        /// <summary>
        /// FBA仓库编码(收件类型是FBA仓库必填)
        /// 否
        /// string
        /// </summary>
        public string warehouseCode { set; get; }
        /// <summary>
        /// 收货人信息
        /// 是
        /// object
        /// </summary>
        public ReceiverAddressDTO receiverAddressDTO { set; get; }
        /// <summary>
        /// 发货人信息
        /// 是
        /// object
        /// </summary>
        public SenderAddressDTO senderAddressDTO { set; get; }
        /// <summary>
        /// FBA编号列表
        /// 否
        /// array
        /// </summary>
        public string[] fbaNos{ set; get; }
        /// <summary>
        /// 货物对象
        /// 是
        /// object
        /// </summary>
        public CargoIfos cargo { set; get; }
        /// <summary>
        /// 申报总价值
        /// 是
        /// number
        /// </summary>
        public decimal totalDeclaredValue { set; get; }
        /// <summary>
        /// 申报总价值货币编码 CNY.人民币，USD.美元，HKD.港币，EUR.欧元
        /// 是
        /// string
        /// </summary>
        public string declaredValueCode { set; get; }
        /// <summary>
        /// 产品类型，见备注枚举
        /// 是
        /// string
        /// </summary>
        public string productType { set; get; }
        /// <summary>
        /// 报关方式：agent_declear 非报关件，customer_declear 出口正式报关
        /// 是
        /// string
        /// </summary>
        public string customsType { set; get; }
        /// <summary>
        /// 报关文件（报关方式为出口正式报关时，需要线下交接该文件）
        /// 是
        /// array
        /// </summary>
        public List<CustomsFile> customsFiles { set; get; }
        /// <summary>
        /// 清关方式：1-关税预付，2-关税不预付 ，3 PVA递延
        /// 否
        /// string
        /// </summary>
        public string taxContainType { set; get; }
        /// <summary>
        /// 投保金额
        /// 是
        /// string
        /// </summary>
        public string declaredValue { set; get; }
        /// <summary>
        /// 国内运输方式，1. 客户自送 ，2 上门接货，3.其他方式上门接货
        /// 是
        /// int
        /// </summary>
        public int pickupMode { set; get; }
        /// <summary>
        /// 其他方式上门接货-预约上门揽收时间
        /// 否
        /// date
        /// </summary>
        public DateTime collectionTm { set; get; }
        /// <summary>
        /// 其他方式上门接货-预约上门揽收备注
        /// 否
        /// string
        /// </summary>
        public string collectionRemark { set; get; }
        /// <summary>
        /// 客户自送-自送单号
        /// 否
        /// string
        /// </summary>
        public string domesticCourierNumber { set; get; }
        /// <summary>
        /// 客户自送-自送供应商编码，见备注
        /// 否
        /// string
        /// </summary>
        public string domesticCourierCode { set; get; }
        /// <summary>
        /// 客户备注
        /// 否
        /// string
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 专属揽收小哥工号
        /// 否
        /// string
        /// </summary>
        public string exclusiveEmpNo { set; get; }
        /// <summary>
        /// 派送方式，枚举见备注
        /// 否
        /// string
        /// </summary>
        public string terminalCarrierCode { set; get; }
        /// <summary>
        /// 启运地，枚举见备注 A100/A101时必填
        /// 否
        /// string
        /// </summary>
        public string departCode { set; get; }
        /// <summary>
        /// 干线运输方式，见备注枚举 S100/S101/S108/S109时必填
        /// 否
        /// string
        /// </summary>
        public string shippingCode { set; get; }
        /// <summary>
        /// 下单箱单尺寸
        /// 是
        /// array
        /// </summary>
        public List<PackageModel> packages { set; get; }
        /// <summary>
        /// 下单来源，系统编码
        /// 否
        /// string
        /// </summary>
        public string userAppKey { set; get; }
        /// <summary>
        /// 用户下单账号（手机号）
        /// 是
        /// string
        /// </summary>
        public string username { set; get; }
        /// <summary>
        /// 客户订单号Id,须保证订单号唯一。
        /// 是
        /// string
        /// </summary>
        public string customerReferenceNo { set; get; }
        /// <summary>
        /// 送达时间
        /// 否
        /// date
        /// </summary>
        public DateTime sendTm { set; get; }
        /*	
        2.3. 请求参数<msgData>
        2.3.1 元素<请求>
        属性名	必填	类型	描述
        vatRegisterNo	否	string	VAT注册号
        vatRegisterCompany	否	string	VAT注册公司名称
        vatRegisterCompanyAddr	否	string	VAT注册公司地址
        EORI	否	string	EORI
        amazonReferanceID	否	string	Amazon referance ID（=追踪编号）
        settlementTypeCode	是	string	付款方式：1寄付现结 2寄付月结
        customerAccount	否	string	月结卡号(寄付月结则必填)
        invoiceFile	否	object	装箱单发票（建议线下交接）
        invoiceFile.objectName	否	string	装箱单发票ossid （不传）
        invoiceFile.originalFilename	否	string	装箱单发票文件名称 （不传）
        receiverType	是	string	收件地址类型 （1.FBA仓库，2.非FBA地址）
        warehouseCode	否	string	FBA仓库编码(收件类型是FBA仓库必填)
        receiverAddressDTO	是	object	收货人信息
        receiverAddressDTO.address	否	string	收件详细地址（收件类型是非FBA地址必填)
        receiverAddressDTO.city	否	string	收件地址城市
        receiverAddressDTO.company	否	string	收件人公司名称
        receiverAddressDTO.contact	否	string	收件地址联系人（收件类型是非FBA地址必填)
        receiverAddressDTO.country	是	string	收件国家/地区，见备注枚举
        receiverAddressDTO.countryCode	是	string	收件国家/地区代码，见备注枚举
        receiverAddressDTO.mobile	否	string	收件人手机号(非FBA，则必填)
        receiverAddressDTO.postCode	否	string	收件地址邮编 (非FBA，则必填)
        receiverAddressDTO.province	否	string	收件地址省份
        senderAddressDTO	是	object	发货人信息
        senderAddressDTO.address	是	string	发货人详细地址
        senderAddressDTO.contact	是	string	发货联系人
        senderAddressDTO.company	否	string	发货公司名称
        senderAddressDTO.province	是	string	发货地址省份（中文）
        senderAddressDTO.provinceCode	否	string	发货地址省份代码
        senderAddressDTO.city	是	string	发货地址城市（中文）
        senderAddressDTO.cityCode	否	string	发货地址城市编码
        senderAddressDTO.county	是	string	发货地址区县（中文）
        senderAddressDTO.countyCode	否	string	发货地址区县编码
        senderAddressDTO.mobile	是	string	发货人手机号
        fbaNos	否	array	FBA编号列表
        cargo	是	object	货物对象
        cargo.cargoName	否	string	货物名称
        cargo.cargoType	是	string	货物类型 1.普货，2.带电，3.带磁，4.带磁带电
        totalDeclaredValue	是	number	申报总价值
        declaredValueCode	是	string	申报总价值货币编码 CNY.人民币，USD.美元，HKD.港币，EUR.欧元
        productType	是	string	产品类型，见备注枚举
        customsType	是	string	报关方式：agent_declear 非报关件，customer_declear 出口正式报关
        customsFiles	否	array	报关文件（报关方式为出口正式报关时，需要线下交接该文件）
        customsFiles.objectName	否	string	报关文件ossid
        customsFiles.originalFilename	否	string	报关文件名称
        taxContainType	否	string	清关方式：1-关税预付，2-关税不预付 ，3 PVA递延
        declaredValue	是	string	投保金额
        pickupMode	是	int	国内运输方式，1. 客户自送 ，2 上门接货，3.其他方式上门接货
        collectionTm	否	date	其他方式上门接货-预约上门揽收时间
        collectionRemark	否	string	其他方式上门接货-预约上门揽收备注
        domesticCourierNumber	否	string	客户自送-自送单号
        domesticCourierCode	否	string	客户自送-自送供应商编码，见备注
        remark	否	string	客户备注
        exclusiveEmpNo	否	string	专属揽收小哥工号
        terminalCarrierCode	否	string	派送方式，枚举见备注
        departCode	否	string	启运地，枚举见备注 A100/A101时必填
        shippingCode	否	string	干线运输方式，见备注枚举 S100/S101/S108/S109时必填
        packages	是	array	下单箱单尺寸
        packages.boxNo	是	string	箱号（填写FBA编号或阿拉伯数字）
        packages.packageHigh	是	string	包裹高cm
        packages.packageLong	是	string	包裹长cm
        packages.packageWeight	是	string	包裹重量kg（实重）
        packages.packageWidth	是	string	包裹宽cm
        packages.SKU	否	string	SKU
        packages.englishName	否	string	英文品名
        packages.chineseName	否	string	中文品名
        packages.brand	否	string	品牌
        packages.model	否	string	型号
        packages.chineseMaterial	否	string	中文材质
        packages.englishMaterial	否	string	英文材质
        packages.purpose	否	string	用途
        packages.packing	否	string	包装
        packages.customsCode	否	string	海关编码
        packages.numberOfBoxes	否	string	每箱个数
        packages.declaredValue	否	string	单个产品申报价值
        packages.declaredTotalValue	否	string	申报总价值
        packages.salesLink	否	string	销售链接
        packages.pic	否	string	图片
        userAppKey	否	string	下单来源，系统编码
        username	是	string	用户下单账号（手机号）
        customerReferenceNo	是	string	客户订单号Id,须保证订单号唯一。
        sendTm	否	date	送达时间
        请求报文 （msgData字段）:

        {
            "settlementTypeCode": "2",
            "customerAccount": "7553033327",
            "receiverType": 1,
            "warehouseCode": "XUSE",
            "receiverAddressDTO": {
                  "country":"US",
                  "countryCode":"US"
             },
            "senderAddressDTO": {
                "address": "丰泰产业园6楼",
                "contact": "赵明",
                "company": "",
                "province": "北京市",
                 "city": "北京市",
                "county": "顺义区",
                "mobile": "18888888888"
            },
            "fbaNos": [
                "FBA16XPGJB87"
            ],
            "cargo": {
                "cargoName": "",
                "cargoType": 1
            },
            "totalDeclaredValue": 645,
            "productType": "A100",
            "customsType": "agent_declear",
            "declaredValue": "32323",
            "pickupMode": 2,
            "remark": "",
            "terminalCarrierCode": "DHL",
            "departCode": "86",
            "shippingCode": "carrier_mason",
            "domesticCourierNumber": "",
            "domesticCourierCode": "",
            "customsFiles": [],
            "packages": [
                {
                    "boxNo": "FBA16XPGJB87U000001",

                    "packageHigh": 35,
                    "packageLong": 47,

                    "packageWeight": 14,
                    "packageWidth": 41

                },
                {
                    "boxNo": "FBA16XPGJB87U000002",

                    "packageHigh": 35,
                    "packageLong": 47,

                    "packageWeight": 14,
                    "packageWidth": 41
                } 
            ],
            "declaredValueCode": "USD",
            "username":"15273286698",
            "customerReferenceNo":"SFGH55"
        }
        成功返回示例的参数说明
        参数名	类型	说明
        business	object	无
        date	string	无
        errorCode	string	无
        errorMessage	string	无
        obj	object	无
        obj.waybillNo	string	母单号
        obj.subWaybillNo	string	子单号
        params	array	无
        requestId	string	无
        success	string	无
        version	string	无
        2.7. 返回示例\应用场景(JSON)示例
        响应报文:

        成功响应:
         {
            "business": null,
            "date": "",
            "errorCode": "",
            "errorMessage": "",
            "obj": {
                "id": "",
                "subWaybillNo": "SF1011865168974,SF2010303774310",
                "warningMsg": "",
                "waybillNo": "SF1011865168974"
            },
            "params": [],
            "requestId": "",
            "success": true,
            "version": ""
        }
        失败报文-范例1
        {
            "success":false,
            "errorCode":"8016",
            "errorMsg":"重复下单",
            "msgData":null
        }
        3.1. 错误代码
        3.1 （API）平台结果代码列表
        标识	说明
        A1000	统一接入平台校验成功，调用后端服务成功； 注意：不代表后端业务处理成功，实际业务处理结果， 需要查看响应属性apiResultData中的详细结果
        A1001	必传参数不可为空
        A1002	请求时效已过期
        A1003	IP无效
        A1004	无对应服务权限
        A1005	流量受控
        A1006	数字签名无效
        A1007	重复请求
        A1008	数据解密失败
        A1009	目标服务异常或不可达
        A1099	系统异常
        字段	枚举
        收件国家/地区（持续补充中）

        receiverAddressDTO.country	AF(“阿富汗”)
        AL(“阿尔巴尼亚”)
        DZ(“阿尔及利亚”)
        AD(“安道尔共和国”)
        AU(“澳大利亚”)
        AT(“奥地利”)
        AZ(“阿塞拜疆”)
        BH(“巴林”)
        BD(“孟加拉国”)
        BY(“白俄罗斯”)
        BE(“比利时”)
        BT(“不丹”)
        BA(“波斯尼亚和黑塞哥维那”)
        BN(“文莱”)
        BG(“保加利亚”)
        KH(“柬埔寨”)
        CA(“加拿大”)
        HR(“克罗地亚”)
        CY(“塞浦路斯”)
        CZ(“捷克”)
        AT(“奥地利”),
        BE(“比利时”),
        CA(“加拿大”),
        DE(“德国”),
        GB(“英国”),
        GR(“希腊”),
        IT(“意大利”),
        JP(“日本”),
        RU(“俄罗斯”),
        US(“美国”),
        VN(“越南”)
        干线运输方式

        shippingCode	carrier_mason(“carrier_mason”, “美森正班快船”),
        carrier_mason_ad_hoc(“carrier_mason_ad_hoc”, “美森统配快船”), carrier_mason_timing(“carrier_mason_timing”, “美森定时达”),
        carrier_zim(“carrier_zim”, “以星快船”),
        carrier_evergreen(“carrier_evergreen”, “长荣快船”),
        carrier_general(“carrier_general”, “海运普船”),
        air_line(“air_line”, “空运专线”),
        carrier_fixed_pick_up(“carrier_fixed_pick_up”, “普船定提”),
        carrier_general_express(“carrier_general_express”, “普船快线”)。
        付款方式

        settlementTypeCode	1(“寄付现结”),
        2(“寄付月结”)
        收货地址类型

        receiverType	1(“FBA仓库”),
        2(“非FBA地址”)
        货物类型

        cargo.cargoType	1(“普货”),
        2(“电池货物”)
        3(“带磁货物”)
        4(“带磁带电货物”)
        申报总价值货币编码

        declaredValueCode	CNY(“人民币”),
        USD(“美元”)
        HKD(“港币”)
        EUR(“欧元”)
        产品类型

        productType	A100(“FBA跨境特快”)
        A101(“FBA跨境标快”)
        S100(“FBA跨境快船”)
        S101(“FBA跨境普船”)
        S103(“跨境整柜”)
        L100(“跨境卡航”)
        L101(“跨境中欧班列”)
        T100(“海运标快”)
        S108(“跨境超大件-快船”)
        S109(“跨境超大件-普船”)
        报关方式

        customsType	agent_declear(“非报关件”),
        customer_declear(“出口正式报关”)
        国内运输方式

        pickupMode	1(“客户自送”),
        2(“上门接货”)
        3(“其他方式上门接货”)
        派送方式

        terminalCarrierCode	UPS(“UPS”),
        FEDEX(“FEDEX”)
        DHL(“DHL”)
        express(“快递”)
        Trucking(“卡车”)
        NULL(“无”)
        清关方式

        taxContainType	1(“关税预付”),
        2(“关税不预付”)
        3(“PVA递延”)
        启运地

        departCode	86(“大陆飞”)
        852(“香港飞”)
        客户自送供应商编码

        domesticCourierCode	LTL(“LTL”, “零担”),
        HLL(“HLL”, “货拉拉” ),
        SF(“SF”, “顺丰速运”),
        HTKY(“HTKY”, “百世快递”),
        ZTO(“ZTO”, “中通快递”),
        STO(“STO”, “申通快递”),
        YTO(“YTO”, “圆通速递”),
        YD(“YD”, “韵达速递”),
        YZPY(“YZPY”, “邮政快递包裹”),
        EMS(“EMS”, “EMS”),
        HHTT(“HHTT”, “天天快递”),
        JD(“JD”, “京东物流”),
        QFKD(“QFKD”, “全峰快递”),
        GTO(“GTO”, “国通快递”),
        UC(“UC”, “优速快递”),
        DBL(“DBL”, “德邦”),
        FAST(“FAST”, “快捷快递”),
        ZJS(“ZJS”, “宅急送”),
        AJ(“AJ”, “安捷快递”),
        ALKJWL(“ALKJWL”, “阿里跨境电商物流”),
        AXWL(“AXWL”, “安讯物流”),
        AYUS(“AYUS”, “安邮美国”),
        AMAZON(“AMAZON”, “亚马逊物流”),
        AOMENYZ(“AOMENYZ”, “澳门邮政”),
        ANE(“ANE”, “安能物流”),
        AXD(“AXD”, “安信达快递”),
        ADD(“ADD”, “澳多多”),
        AYCA(“AYCA”, “澳邮专线”),
        BDT(“BDT”, “八达通 “),
        BETWL(“BETWL”, “百腾物流”),
        BJXKY(“BJXKY”, “北极星快运”),
        BLZ(“BLZ”, “巴伦支快运”),
        BNTWL(“BNTWL”, “奔腾物流”),
        BFDF(“BFDF”, “百福东方”),
        BHGJ(“BHGJ”, “贝海国际 “),
        BQXHM(“BQXHM”, “北青小红帽”),
        BFAY(“BFAY”, “八方安运”),
        BTWL(“BTWL”, “百世快运”),
        CCES(“CCES”, “CCES快递”),
        CFWL(“CFWL”, “春风物流”),
        CHTWL(“CHTWL”, “诚通物流”),
        CKY(“CKY”, “出口易”),
        CXHY(“CXHY”, “传喜物流”),
        CG(“CG”, “程光 “),
        CITY100(“CITY100”, “城市100”),
        CJKD(“CJKD”, “城际快递”),
        CNPEX(“CNPEX”, “CNPEX中邮快递”),
        COE(“COE”, “COE东方快递”),
        CSCY(“CSCY”, “长沙创一”),
        CDSTKY(“CDSTKY”, “成都善途速运”),
        CTG(“CTG”, “联合运通”),
        CBO(“CBO”, “CBO钏博物流”),
        DSWL(“DSWL”, “D速物流”),
        DLG(“DLG “, “到了港”),
        D4PX(“D4PX”, “递四方速递”),
        DTWL(“DTWL”, “大田物流”),
        DJKJWL(“DJKJWL”, “东骏快”),
        DEKUN(“DEKUN”, “德坤”),
        ETK(“ETK”, “E特快”),
        EWE(“EWE”, “EWE”),
        FEDEX(“FEDEX”, “FEDEX联邦(国内件）”),
        FEDEX_GJ(“FEDEX_GJ”, “FEDEX联邦(国际件）”),
        CRAZY(“CRAZY”, “疯狂快递”),
        FKD(“FKD”, “飞康达”),
        FTD(“FTD”, “富腾达 “),
        GD(“GD”, “冠达 “),
        GDEMS(“GDEMS”, “广东邮政”),
        GSD(“GSD”, “共速达”),
        GTONG(“GTONG”, “广通 “),
        GAI(“GAI”, “迦递快递”),
        GKSD(“GKSD”, “港快速递”),
        GTSD(“GTSD”, “高铁速递”),
        HFWL(“HFWL”, “汇丰物流”),
        HGLL(“HGLL”, “黑狗冷链”),
        HLWL(“HLWL”, “恒路物流”),
        HOAU(“HOAU”, “天地华宇”),
        HOTSCM(“HOTSCM”, “鸿桥供应链”),
        HPTEX(“HPTEX”, “海派通物流公司”),
        hq568(“hq568”, “华强物流”),
        HQSY(“HQSY”, “环球速运 “),
        HXLWL(“HXLWL”, “华夏龙物流”),
        HXWL(“HXWL”, “豪翔物流 “),
        HFHW(“HFHW”, “合肥汇文”),
        HHWL(“HHWL”, “华翰物流”),
        HLONGWL(“HLONGWL”, “辉隆物流”),
        HQKD(“HQKD”, “华企快递”),
        HRWL(“HRWL”, “韩润物流”),
        HTKD(“HTKD”, “青岛恒通快递”),
        HYH(“HYH”, “货运皇物流”),
        HYLSD(“HYLSD”, “好来运快递”),
        JAD(“JAD”, “捷安达 “),
        JGSD(“JGSD”, “京广速递”),
        JIUYE(“JIUYE”, “九曳供应链”),
        JJKY(“JJKY”, “佳吉快运”),
        JLDT(“JLDT”, “嘉里物流”),
        JTKD(“JTKD”, “捷特快递”),
        JXD(“JXD”, “急先达”),
        JYKD(“JYKD”, “晋越快递”),
        JYM(“JYM”, “加运美”),
        JGWL(“JGWL”, “景光物流”),
        JYWL(“JYWL”, “佳怡物流”),
        KYSY(“KYSY”, “跨越速运”),
        KYWL(“KYWL”, “跨越物流”),
        KSDWL(“KSDWL”, “快速递物流”),
        LB(“LB”, “龙邦快递”),
        LJSKD(“LJSKD”, “立即送”),
        LHT(“LHT”, “联昊通速递”),
        MB(“MB”, “民邦快递”),
        MHKD(“MHKD”, “民航快递”),
        MK(“MK”, “美快 “),
        MDM(“MDM”, “门对门快递”),
        MRDY(“MRDY”, “迈隆递运”),
        MLWL(“MLWL”, “明亮物流”),
        NF(“NF”, “南方”),
        NEDA(“NEDA”, “能达速递”),
        PADTF(“PADTF”, “平安达腾飞快递”),
        PANEX(“PANEX”, “泛捷快递”),
        PJ(“PJ”, “品骏”),
        PCA(“PCA”, “PCA Express”),
        QCKD(“QCKD”, “全晨快递”),
        QRT(“QRT”, “全日通快递”),
        QUICK(“QUICK”, “快客快递”),
        QXT(“QXT”, “全信通”),
        RFD(“RFD”, “如风达”),
        RRS(“RRS”, “日日顺物流”),
        RFEX(“RFEX”, “瑞丰速递”),
        SAD(“SAD”, “赛澳递”),
        SAWL(“SAWL”, “圣安物流”),
        SBWL(“SBWL”, “盛邦物流”),
        SDWL(“SDWL”, “上大物流”),
        SFWL(“SFWL”, “盛丰物流”),
        SHWL(“SHWL”, “盛辉物流”),
        ST(“ST”, “速通物流”),
        STWL(“STWL”, “速腾快递”),
        SUBIDA(“SUBIDA”, “速必达物流”),
        SDEZ(“SDEZ”, “速递e站”),
        SCZPDS(“SCZPDS”, “速呈宅配”),
        SURE(“SURE”, “速尔快递”),
        TAIWANYZ(“TAIWANYZ”, “台湾邮政”),
        TSSTO(“TSSTO”, “唐山申通”),
        UAPEX(“UAPEX”, “全一快递”),
        ULUCKEX(“ULUCKEX”, “优联吉运”),
        UEQ(“UEQ”, “UEQ Express”),
        WJK(“WJK”, “万家康 “),
        WJWL(“WJWL”, “万家物流”),
        WXWL(“WXWL”, “万象物流”),
        WHTZX(“WHTZX”, “武汉同舟行”),
        WPE(“WPE”, “维普恩”),
        WTP(“WTP”, “微特派”),
        XBWL(“XBWL”, “新邦物流”),
        XCWL(“XCWL”, “迅驰物流 “),
        XFEX(“XFEX”, “信丰物流”),
        XYT(“XYT”, “希优特”),
        XJ(“XJ”, “新杰物流”),
        YADEX(“YADEX”, “源安达快递”),
        YCWL(“YCWL”, “远成物流”),
        YCSY(“YCSY”, “远成快运”),
        YDH(“YDH”, “义达国际物流”),
        YDT(“YDT”, “易达通 “),
        YFEX(“YFEX”, “越丰物流”),
        YFHEX(“YFHEX”, “原飞航物流”),
        YFSD(“YFSD”, “亚风快递”),
        YTKD(“YTKD”, “运通快递”),
        YXKD(“YXKD”, “亿翔快递”),
        YUNDX(“YUNDX”, “运东西”),
        YMDD(“YMDD”, “壹米滴答”),
        YZBK(“YZBK”, “邮政国内标快”),
        YZTSY(“YZTSY”, “一站通速运”),
        YFSUYUN(“YFSUYUN”, “驭丰速运”),
        ZENY(“ZENY”, “增益快递”),
        ZHQKD(“ZHQKD”, “汇强快递”),
        ZTE(“ZTE”, “众通快递”),
        ZTKY(“ZTKY”, “中铁快运”),
        ZTWL(“ZTWL”, “中铁物流”),
        ZYWL(“ZYWL”, “中邮物流”),
        SJ(“SJ”, “郑州速捷”),
        ZTOKY(“ZTOKY”, “中通快运”);
        */
    }
    /// <summary>
    /// 大件跨境下单（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class ResponseIfosPlaceOrder
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /// <summary>
        /// 无
        /// 否
        /// object
        /// </summary>
        public IfosPlaceOrderObj obj { get; set; }
        /*
        成功返回示例的参数说明
        参数名	类型	说明
        business	object	无
        date	string	无
        errorCode	string	无
        errorMessage	string	无
        obj	object	无
        obj.waybillNo	string	母单号
        obj.subWaybillNo	string	子单号
        params	array	无
        requestId	string	无
        success	string	无
        version	string	无
        2.7. 返回示例\应用场景(JSON)示例
        响应报文:

        成功响应:
         {
            "business": null,
            "date": "",
            "errorCode": "",
            "errorMessage": "",
            "obj": {
                "id": "",
                "subWaybillNo": "SF1011865168974,SF2010303774310",
                "warningMsg": "",
                "waybillNo": "SF1011865168974"
            },
            "params": [],
            "requestId": "",
            "success": true,
            "version": ""
        }
        失败报文-范例1
        {
            "success":false,
            "errorCode":"8016",
            "errorMsg":"重复下单",
            "msgData":null
        }
        3.1. 错误代码
        3.1 （API）平台结果代码列表
        标识	说明
        A1000	统一接入平台校验成功，调用后端服务成功； 注意：不代表后端业务处理成功，实际业务处理结果， 需要查看响应属性apiResultData中的详细结果
        A1001	必传参数不可为空
        A1002	请求时效已过期
        A1003	IP无效
        A1004	无对应服务权限
        A1005	流量受控
        A1006	数字签名无效
        A1007	重复请求
        A1008	数据解密失败
        A1009	目标服务异常或不可达
        A1099	系统异常 
        */
    }

    #endregion 大件跨境下单

    #region 大件跨境国家邮编查询

    /// <summary>
    /// 大件跨境国家邮编查询（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestIfosPostCodeFetchAddress
    {
        /// <summary>
        /// 邮编
        /// 是
        /// string
        /// </summary>
        public string cityZipCode { set; get; }
        /// <summary>
        /// 国家缩写(英文),可见下单接口里国家英文代码
        /// 是
        /// string
        /// </summary>
        public string countryCode { set; get; }
        /*	
        2.3. 请求参数<msgData>
        属性名	必填	类型	描述
        cityZipCode	是	string	邮编
        countryCode	是	string	国家缩写(英文),可见下单接口里国家英文代码
        请求报文 （msgData字段）:

        {"cityZipCode":"01007","countryCode":"US"}
        */
    }
    /// <summary>
    /// 大件跨境国家邮编查询（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class ResponseIfosPostCodeFetchAddress
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /// <summary>
        /// 返回的对象
        /// 否
        /// array
        /// </summary>
        public List<IfosPostCodeFetchAddressObj> obj { get; set; }
        /*	
        成功返回示例的参数说明
        参数名	类型	说明
        business	object	无
        date	string	无
        errorCode	string	无
        errorMessage	string	无
        obj	array	返回的对象
        obj.cityZipCode	string	邮编
        obj.countryCode	string	国家
        obj.disable	boolean	禁用状态 [true:禁用,false:启用]
        obj.distEnName	string	二级区域名称
        obj.isIsolated	boolean	是否偏远地区
        obj.provinceName	string	一级区域名称
        params	array	无
        requestId	string	无
        success	string	成功失败的标志
        version	string	无
        请求报文 （msgData字段）:

        {"cityZipCode":"01007","countryCode":"US"}
        2.4. 返回示例\应用场景(JSON)示例
        响应报文:

        成功响应:
         {
            "business": null,
            "date": 1707125958260,
            "errorCode": null,
            "errorMessage": null,
            "obj": [
                {
                    "cityZipCode": "01007",
                    "countryCode": "US",
                    "disable": false,
                    "distEnName": "Belchertown",
                    "isIsolated": true,
                    "provinceName": "Massachusetts"
                }
            ],
            "success": true
        }
        3.1. 错误代码
        3.1 （API）平台结果代码列表
        标识	说明
        A1000	统一接入平台校验成功，调用后端服务成功； 注意：不代表后端业务处理成功，实际业务处理结果， 需要查看响应属性apiResultData中的详细结果
        A1001	必传参数不可为空
        A1002	请求时效已过期
        A1003	IP无效
        A1004	无对应服务权限
        A1005	流量受控
        A1006	数字签名无效
        A1007	重复请求
        A1008	数据解密失败
        A1009	目标服务异常或不可达
        A1099	系统异常
        */
    }
    public class IfosPostCodeFetchAddressObj
    {
        /// <summary>
        /// 邮编
        /// string
        /// </summary>
        public string cityZipCode { set; get; }
        /// <summary>
        /// 国家
        /// string
        /// </summary>
        public string countryCode { set; get; }
        /// <summary>
        /// 禁用状态 [true:禁用,false:启用]
        /// boolean
        /// </summary>
        public bool disable { set; get; }
        /// <summary>
        /// 二级区域名称
        /// string
        /// </summary>
        public string distEnName { set; get; }
        /// <summary>
        /// 是否偏远地区 
        /// boolean
        /// </summary>
        public bool isIsolated { set; get; }
    }

    #endregion 大件跨境国家邮编查询

    #region 回传尺寸信息

    /// <summary>
    /// 回传尺寸信息（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestI18nDimension
    {
        /// <summary>
        /// 关联的订单号
        /// 是
        /// String(15)
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 实际计费重量
        /// 是
        /// String(100)
        /// </summary>
        public string receiverCompany { set; get; }
        /// <summary>
        /// 包裹明细， 参见Cargo
        /// 是
        /// Array
        /// </summary>
        public List<CargoDTOBase> cargos { set; get; }
        /// <summary>
        /// 操作时间，揽收时间
        /// 否
        /// Date
        /// </summary>
        public DateTime opTime { set; get; }
        /// <summary>
        /// 操作员，唯一标识此员工，用于事后核对揽收信息。由顺丰合作伙伴保证唯一即可。
        /// 否
        /// String(20)
        /// </summary>
        public string @operator { set; get; }
        /// <summary>
        /// 操作仓库标识，唯一标识仓库，用于事后核对揽收信息。由顺丰合作伙伴保证唯一即可。
        /// 否
        /// String(20)
        /// </summary>
        public string opWh { set; get; }
        /*	
        请求参数

        属性名	参数类型	Required/Optional	描述
        partnerID	String(64)	R	合作伙伴编码（由顺丰分配）
        requestID	String(40)	R	请求唯一号UUID
        serviceCode	String(50)	R	接口服务代码
        timestamp	long	R	调用接口时间戳
        msgDigest	String(128)	R	数字签名
        msgData		R	业务数据报文，参见DimensionRequest
        nonce	int	O	调用接口随机数
        fromCode	Stirng(50)	O	调用平台编码
        versionCode	Stirng(20)	O	业务接口的版本号(请参考具体接口说明)
        DimensionRequest 属性字段

        属性名	参数类型	Required/Optional	描述
        orderNo	String(15)	R	关联的订单号
        receiverCompany	String(100)	R	实际计费重量
        cargos	Array	R	包裹明细， 参见Cargo
        opTime	Date	O	操作时间，揽收时间
        operator	String(20)	O	操作员，唯一标识此员工，用于事后核对揽收信息。由顺丰合作伙伴保证唯一即可。
        opWh	String(20)	O	操作仓库标识，唯一标识仓库，用于事后核对揽收信息。由顺丰合作伙伴保证唯一即可。
        Cargo 属性字段

        属性名	参数类型	Required/Optional	描述
        length	Number(16,2)	R	包裹长
        width	Number(16,2)	R	包裹宽
        height	Number(16,2)	R	包裹高
        weight	Number(16,2)	R	包裹重量
        boxNo	String(30)	O	包裹号，一般为FBA箱号
        extraMap	Array<String, String>	O	扩展字段，包含key和value属性
        请求数据示例：

        POST https://fapi.sf-express.com/fopApiServices/access/enter HTTP/1.1
        Content-Type: application/x-www-form-urlencoded;charset=UTF-8

        partnerID=partnerID&requestID=requestID&serviceCode=FOP_RECE_I18N_DIMENSION&timestamp=112500000&msgDigest=msgDigest&nonce=4678965&fromCode=fromCode&versionCode=v1.0.1
        &msgData=
        {
            "orderNo":"orderNo",
            "receiverCompany":"receiverCompany",
            "cargos":[
                {"length":1,"width":1,"height":1,"weight":1,"boxNo":"boxNo","extraMap":[{"key":"key","value":"value"}]}
            ],
            "opTime":"2021-01-02 14:20:30",
            "operator":"operator",
            "opWh":"opWh"
        }
        响应参数

        属性名	参数类型	Required/Optional	描述
        apiResultCode	String(10)	R	API平台结果代码
        apiErrorMsg	String(200)	O	API平台异常信息
        apiResponseID	String(40)	R	API响应唯一号UUID
        apiResultData	String	O	业务处理详细结果
        响应数据示例：

        Content-Type: application/json; charset=utf-8

        {
            "apiResultCode": "A1000",
            "apiResponseID": "apiResponseID"
        }
        */
    }
    /// <summary>
    /// 回传尺寸信息（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class ResponseI18nDimension
    { 
    
    }

    #endregion 回传尺寸信息

    #region 获取包裹详情

    /// <summary>
    /// 获取包裹详情（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class PushI18nPackageRequest
    {
        /// <summary>
        /// 物流公司代码，SF代表顺丰
        /// 是
        /// String(20)
        /// </summary>
        public string logisticID { set; get; }
        /// <summary>
        /// 请求唯一号UUID
        /// 是
        /// String(40)
        /// </summary>
        public string requestID { set; get; }
        /// <summary>
        /// 接口服务代码
        /// 是
        /// String(50)
        /// </summary>
        public string serviceCode { set; get; }
        /// <summary>
        /// 调用接口时间戳
        /// 是
        /// long
        /// </summary>
        public long timestamp { set; get; }
        /// <summary>
        /// 数字签名
        /// 是
        /// String(128)
        /// </summary>
        public string msgDigest { set; get; }
        /// <summary>
        /// 业务数据报文，参见PackageRequest
        /// 是
        /// 
        /// </summary>
        public MsgDataRequestPushI18nPackage msgData { set; get; }
    }
    /// <summary>
    /// 获取包裹详情（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestPushI18nPackage
    {
        /// <summary>
        /// 查询唯一标识
        /// 是
        /// String(20)
        /// </summary>
        public string referenceNo { set; get; }
        /*
        请求参数

        属性名	参数类型	Required/Optional	描述
        logisticID	String(20)	R	物流公司代码，SF代表顺丰
        requestID	String(40)	R	请求唯一号UUID
        serviceCode	String(50)	R	接口服务代码
        timestamp	long	R	调用接口时间戳
        msgDigest	String(128)	R	数字签名
        msgData		R	业务数据报文，参见PackageRequest
        nonce	int	O	调用接口随机数
        PackageRequest 属性字段

        属性名	参数类型	Required/Optional	描述
        referenceNo	String(20)	R	查询唯一标识
        请求数据示例：

        POST https://<cp服务域名>/<服务path> HTTP/1.1
        Content-Type: application/x-www-form-urlencoded;charset=UTF-8

        logisticID=SF&requestID=requestID&serviceCode=FOP_PUSH_I18N_PACKAGE&timestamp=112500000&msgDigest=msgDigest&nonce=4678965&msgData={"referenceNo":"referenceNo"}
        响应参数

        属性名	参数类型	Required/Optional	描述
        apiResultCode	String(10)	R	API平台结果代码
        apiErrorMsg	String(200)	O	API平台异常信息
        apiResponseID	String(40)	R	API响应唯一号UUID
        apiResultData	String	O	业务处理详细结果，参见PackageResponse
        PackageResponse 属性字段

        属性名	参数类型	Required/Optional	描述
        orderNo	String(15)	R	关联的订单号
        routes	Array	R	路由信息，顺序全部以降序存放，参见Route
        Route 属性字段

        属性名	参数类型	Required/Optional	描述
        opTime	Date	R	操作时间
        opCode	String(20)	R	操作类型
        opAddr		O	操作当时的地址，参见Addr
        Addr属性字段

        属性名	参数类型	Required/Optional	描述
        country	String(10)	O	国家
        province	String(30)	O	省份
        city	String(30)	O	城市
        county	String(30)	O	区
        address	String(200)	R	详细地址
        postCode	String(20)	O	邮编
        响应数据示例：

        Content-Type: application/json; charset=utf-8

        {
            "apiResultCode": "A1000",
            "apiResponseID": "apiResponseID",
            "apiResultData": {
            "orderNo": "",
            "routes": [
                {
                "opTime": "2021-04-13 13:30",
                "opCode": "Delivered",
                "opAddr": {
                    "country": "US",
                    "province": "province",
                    "city": "city",
                    "county": "county",
                    "address": "address",
                    "postCode": "postCode"
                }
                }
            ]
            }
        }
        */
    }
    /// <summary>
    /// 获取包裹详情（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class ResponsePushI18nPackage
    {
        /// <summary>
        /// 关联的订单号
        /// 是
        /// String(15)
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 路由信息，顺序全部以降序存放，参见Route
        /// 是
        /// Array
        /// </summary>
        public List<RouteModel> routes { set; get; }
        /*
        响应参数

        属性名	参数类型	Required/Optional	描述
        apiResultCode	String(10)	R	API平台结果代码
        apiErrorMsg	String(200)	O	API平台异常信息
        apiResponseID	String(40)	R	API响应唯一号UUID
        apiResultData	String	O	业务处理详细结果，参见PackageResponse
        PackageResponse 属性字段

        属性名	参数类型	Required/Optional	描述
        orderNo	String(15)	R	关联的订单号
        routes	Array	R	路由信息，顺序全部以降序存放，参见Route
        Route 属性字段

        属性名	参数类型	Required/Optional	描述
        opTime	Date	R	操作时间
        opCode	String(20)	R	操作类型
        opAddr		O	操作当时的地址，参见Addr
        Addr属性字段

        属性名	参数类型	Required/Optional	描述
        country	String(10)	O	国家
        province	String(30)	O	省份
        city	String(30)	O	城市
        county	String(30)	O	区
        address	String(200)	R	详细地址
        postCode	String(20)	O	邮编
        响应数据示例：

        Content-Type: application/json; charset=utf-8

        {
            "apiResultCode": "A1000",
            "apiResponseID": "apiResponseID",
            "apiResultData": {
            "orderNo": "",
            "routes": [
                {
                "opTime": "2021-04-13 13:30",
                "opCode": "Delivered",
                "opAddr": {
                    "country": "US",
                    "province": "province",
                    "city": "city",
                    "county": "county",
                    "address": "address",
                    "postCode": "postCode"
                }
                }
            ]
            }
        }
        */
    }

    #endregion 获取包裹详情

    #region 回传包裹详情

    /// <summary>
    /// 回传包裹详情（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestReceI18nPackage
    {
        /// <summary>
        /// 关联的订单号
        /// 是
        /// String(15)
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 路由信息，顺序全部以降序存放，参见Route
        /// 是
        /// Array
        /// </summary>
        public List<RouteModel> routes { set; get; }
        /*	
        请求参数

        属性名	参数类型	Required/Optional	描述
        partnerID	String(64)	R	合作伙伴编码（由顺丰分配）
        requestID	String(40)	R	请求唯一号UUID
        serviceCode	String(50)	R	接口服务代码
        timestamp	long	R	调用接口时间戳
        msgDigest	String(128)	R	数字签名
        msgData		R	业务数据报文，参见PackageRequest
        nonce	int	O	调用接口随机数
        fromCode	Stirng(50)	O	调用平台编码
        versionCode	Stirng(20)	O	业务接口的版本号(请参考具体接口说明)
        PackageRequest 属性字段

        属性名	参数类型	Required/Optional	描述
        orderNo	String(15)	R	关联的订单号
        routes	Array	R	路由信息，顺序全部以降序存放，参见Route
        Route属性字段

        属性名	参数类型	Required/Optional	描述
        opTime	Date	R	操作时间
        opCode	String(20)	R	操作类型
        opAddr		O	操作当时的地址，参见Addr
        Addr属性字段

        属性名	参数类型	Required/Optional	描述
        country	String(10)	O	国家
        province	String(30)	O	省份
        city	String(30)	O	城市
        county	String(30)	O	区
        address	String(200)	R	详细地址
        postCode	String(20)	O	邮编
        请求数据示例：

        POST https://fapi.sf-express.com/fopApiServices/access/enter HTTP/1.1
        Content-Type: application/x-www-form-urlencoded;charset=UTF-8

        partnerID=partnerID&requestID=requestID&serviceCode=FOP_RECE_I18N_PACKAGE&timestamp=112500000&msgDigest=msgDigest&nonce=4678965&fromCode=fromCode&versionCode=v1.0.1&msgData={"orderNo":"","routes":[{"opTime":"2021-04-13 13:30","opCode":"Delivered","opAddr":{"country":"US","province":"province","city":"city","county":"county","address":"address","postCode":"postCode"}}]}
            
        4. 附录
        4.1 产品代码
        标识	中文名
        A100	FBA跨境特快
        A101	FBA跨境普快
        A102	FBA跨境经济
        S100	跨境海派
        S101	跨境海卡（不预付关税）
        S102	跨境海卡（关税预付）
        S103	跨境整柜
        L100	跨境卡航
        L101	跨境中欧班列
        4.2 国家/地区代码
        标识	中文名
        DE	德国
        FR	法国
        CA	加拿大
        US	美国
        JP	日本
        ES	西班牙
        IT	意大利
        GB	英国
        */
    }
    /// <summary>
    /// 回传包裹详情（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseReceI18nPackage
    {
        /*
        响应参数

        属性名	参数类型	Required/Optional	描述
        apiResultCode	String(10)	R	API平台结果代码
        apiErrorMsg	String(200)	O	API平台异常信息
        apiResponseID	String(40)	R	API响应唯一号UUID
        apiResultData	String	O	业务处理详细结果
        响应数据示例：

        Content-Type: application/json; charset=utf-8

        {
            "apiResultCode": "A1000",
            "apiResponseID": "apiResponseID"
        } 
        */
    }

    #endregion 回传包裹详情

    #region 大件跨境下载顺丰面单-获取批次号

    /// <summary>
    /// 大件跨境下载顺丰面单-获取批次号（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestIfosOrderPrintInfo
    {
        /// <summary>
        /// 运单号
        /// 是
        /// string
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 系统编码，固定填写FOP-IFOS-CORE
        /// 是
        /// string
        /// </summary>
        public string sysCode { set; get; } = "FOP-IFOS-CORE";
        /*	
        2.3. 请求参数<msgData>
        2.3.1 元素<请求>
        属性名	必填	类型	描述
        waybillNo	是	string	运单号
        sysCode	是	string	系统编码，固定填写FOP-IFOS-CORE
        请求报文 （msgData字段）:

        {
            "waybillNo":"SF1342849028987",
            "sysCode":"FOP-IFOS-CORE"
        }
        */
    }
    /// <summary>
    /// 大件跨境下载顺丰面单-获取批次号（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class ResponseIfosOrderPrintInfo
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /// <summary>
        /// 返回的对象
        /// 否
        /// array
        /// </summary>
        public IfosOrderPrintInfoObj obj { get; set; }
        /*	
        成功返回示例的参数说明
        参数名	类型	说明
        business	object	无
        date	string	无
        errorCode	string	无
        errorMessage	string	无
        obj	object	无
        obj.errorMsg	string	无
        obj.fileType	string	无
        obj.files	string	无
        obj.printBatchNo	string	批次号
        obj.sysCode	string	无
        success	string	无
        2.7. 返回示例\应用场景(JSON)示例
        响应报文:

        成功响应:
         {
            "business": null,
            "date": 1715596683611,
            "errorCode": null,
            "errorMessage": null,
            "obj": {
                "errorMsg": null,
                "fileType": null,
                "files": [],
                "printBatchNo": "AAABj3GH6W8GvmS3z8lBZJtV1qajG9h9",
                "sysCode": null
            },
            "success": true
        }
        */
    }
    public class IfosOrderPrintInfoObj
    { 
        /// <summary>
        /// 
        /// </summary>
        public string errorMsg { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public string fileType { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public string[] files { set; get; }
        /// <summary>
        /// 批次号
        /// </summary>
        public string printBatchNo { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public string sysCode { set; get; }
    }

    #endregion 大件跨境下载顺丰面单-获取批次号

    #region 大件跨境下载顺丰面单-根据批次号获取文件

    /// <summary>
    /// 大件跨境下载顺丰面单-根据批次号获取文件（快运API-转寄外发类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestIfosOrderPrintQueryResult
    {
        /// <summary>
        /// 批次号
        /// 是
        /// string
        /// </summary>
        public string printBatchNo { set; get; }
        /// <summary>
        /// 系统编码，固定FOP-IFOS-CORE
        /// 是
        /// string
        /// </summary>
        public string sysCode { set; get; } = "FOP-IFOS-CORE";
        /*	
        2.3. 请求参数<msgData>
        2.3.1 元素<请求>
        属性名	必填	类型	描述
        printBatchNo	是	string	批次号
        sysCode	是	string	系统编码，固定FOP-IFOS-CORE
        请求报文 （msgData字段）:

        {
            "printBatchNo":"AAABj3GH6W8GvmS3z8lBZJtV1qajG9h9",
            "sysCode":"FOP-IFOS-CORE"
        }
        */
    }
    /// <summary>
    /// 大件跨境下载顺丰面单-根据批次号获取文件（快运API-转寄外发类） 业务数据返回报文
    /// </summary>
    public class ResponseIfosOrderPrintQueryResult
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /// <summary>
        /// 返回的对象
        /// 否
        /// array
        /// </summary>
        public IfosOrderPrintQueryResultObj obj { get; set; }
        /*
        成功返回示例的参数说明
        参数名	类型	说明
        business	object	无
        date	string	无
        errorCode	string	无
        errorMessage	string	无
        obj	object	无
        obj.errorReason	string	无
        obj.files	string	无
        obj.files.seqNo	string	无
        obj.files.token	string	无
        obj.files.url	string	面单下载地址
        obj.files.waybillNo	string	无
        obj.status	string	无
        obj.sysCode	string	无
        success	string	无
        2.7. 返回示例\应用场景(JSON)示例
        响应报文:

        成功响应:
        {
            "business": null,
            "date": 1715597574090,
            "errorCode": null,
            "errorMessage": null,
            "obj": {
                "errorReason": null,
                "files": [
                    {
                        "seqNo": 0,
                        "token": "AUTH_tkv12_f146d1855480549d262b5c46ab0ab597207bd99206fbe23b524336bf014ef5140feb297041dd0a61c3b1c69e462cc061d55f0de15d461b5061b66be3d7ea3c3ea560c81f4c9fb14e86dfc28fcfb75fd9d87b567491d6fa079ac79d44b6ba8276187e8f60e1f38b5bd57338f911ad5d3a70bccc222ddcacdc4042b9f70fec18c2f6692658be8a5817adcd46dd913a67c4f2794661b0db078be946b3abb127f9d78fdf1ca17645242b4d7dc842bd121efb06209d12c7a51b6c9c9794926ee649a0",
                        "url": "https://eos-scp-core-shenzhen-xili1-oss.sit.sf-express.com:443/v1.2/AUTH_EOS-SCP-CORE/print-file/FOP-IFOS-CORE_1715596683515_AAABj3GH8FDqP958X0pCIoLKuIc_rWAp_fop-ifos-core_fba_12_12.pdf",
                        "waybillNo": null
                    }
                ],
                "status": "1",
                "sysCode": null
            },
            "success": true
        } 
        */
    }
    public class IfosOrderPrintQueryResultObj
    { 
        /// <summary>
        /// 
        /// </summary>
        public string errorReason { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public string status { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public string sysCode { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public List<PrintQueryResultFile> files { set; get; }
    }
    public class PrintQueryResultFile
    {
        /// <summary>
        /// 
        /// </summary>
        public string seqNo { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public string token { set; get; }
        /// <summary>
        /// 面单下载地址
        /// </summary>
        public string url { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public string waybillNo { set; get; }
    }

    #endregion 大件跨境下载顺丰面单-根据批次号获取文件

    #endregion 跨境大件类

    #region 安装服务-供应商接入

    #region 安装任务推送接口

    /// <summary>
    /// 安装任务推送接口（快运API-安装服务-供应商接入） 业务数据请求报文
    /// </summary>
    public class RequestPushFisOrder
    {
        /// <summary>
        /// 订单列表 订单信息包装在list中，目前list一定只有一个订单，直接取第一个。下面的字段是order对象内部字段
        /// 是
        /// list
        /// </summary>
        public List<FisOrder> orderList { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必有	数据类型	说明
        orderList	订单列表	true	list	订单信息包装在list中，目前list一定只有一个订单，直接取第一个。下面的字段是order对象内部字段
        waybillNo	母单号	true	string	
        taskCode	任务编码	true	string	
        subWaybillNos	子单号	false	string	用逗号（,）隔开，此字段可以用于提货+安装业务的提货包裹数的校验。
        orderSource	订单来源，如京东	false	string	
        customOrderId	客户订单号	false	string	
        cargoName	货物名称	false	string	
        totalVolume	货物体积	false	string	
        totalWeight	货物重量	false	string	
        receiverName	收件人	true	string	
        serviceType	安装类型	true	Integer	1:上门安装 2：提货+安装 7:维修 8:检测维修
        receiverPhone	收件人电话	true	string	
        receiverAddress	收件人地址	true	string	
        packageCount	子母件数	true	int	
        version	版本号	true	int	
        supplierOrderStatus	订单状态	true	string	1：新增/修改 2：取消，可以使用version判断数据版本号
        remark	备注	false	string	
        cancelReason	取消原因	false	string	当取消时会有值
        cancelTime	取消时间	false	string	当取消时有值，示例：2024-03-19 12:45:12
        installTypes	安装品类	true	List	参见 InstallTypeDto
        extendInfo	扩展字段	false	Map<String, String>	Key & Value数据对
        orderTag	顺丰、顺心标示	false	string	用于顺丰、顺心捷达两品牌都支持的供应商进行品牌区分
        expectServiceTime	期望服务时间	false	string	2021.12.21日新增字段 示例：2021-12-21 15:00
        logisticsCompany	物流公司名称	false	string	2021.12.21日新增字段 示例：顺丰快运
        logisticsNo	物流运单号	false	string	2021.12.21日新增字段 示例：SF10000010101
        addedServices	增值服务	false	List<AddedServiceDto>	参见 AddedServiceDto
        InstallTypeDto
        参数名称	参数说明	是否必有	数据类型	说明
        installTypeCode	安装品类编码	true	String	
        installTypeName	安装品类名	true	String	
        imageUrl	安装品类图片，逗号隔开	false	String	2021.12.07新增字段 此链接永久有效
        videoUrl	安装视频，逗号隔开	false	String	2021.12.07新增字段 此链接一天有效期，请自行保存
        installRemark	安装品类备注	false	String	
        count	数量	true	int	
        businessName	行业名称	true	String	如：空调
        faultCause	故障原因	false	List<String>	
        AddedServiceDto（详情见附录1.1）
        参数名称	参数说明	是否必有	数据类型	说明
        addedServiceName	增值服务名	true	String	
        addedServiceCode	增值服务代码	true	String	
        addedServicePrice	增值服务价格	false	double(20,2)	
        返回参数
        注意： 接收报文方应按照标准返回报文格式返回是否已接受到任务推送信息，否则系统自动重试10次。

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	返回数据
        标准报文参考-单个品类：

        {
            "orderList": [
                {
                    "businessCode": "HY0001",
                    "businessName": "家具",
                    "cargoName": "1个格子",
                    "expectServiceTime": "",
                    "installTypes": [
                        {
                            "count": 1,
                            "imageUrl": "https://chan-fop-chan-site-shenzhen-xili1-oss.sit.sf-express.com/v1.2/AUTH_chan-FOP-CHAN-SITE/sfosspublic001/fmasterPub202111181816013859bIMG20201105_104924.png,https://chan-fop-chan-site-shenzhen-xili1-oss.sit.sf-express.com/v1.2/AUTH_chan-FOP-CHAN-SITE/sfosspublic001/fmasterPub202111181816013859bIMG20201105_104924.png",
                            "installTypeCode": "8891886",
                            "installTypeName": "1个格子",
                            "installRemark":"这是当前安装品类的备注哟",
                            "videoUrl": "http://chan-fop-fis-core-shenzhen-xili1-oss.sit.sf-express.com:8080/v1/AUTH_chan-FOP-FIS-CORE/fis/fmasterPri2021111818160528759a5e0777176fe8f6414da30a180d2bca4.mp4?temp_url_sig=558b883102cbd8e4b18ea0ce7838d8c4bbe1d290&temp_url_expires=1638852915,http://chan-fop-fis-core-shenzhen-xili1-oss.sit.sf-express.com:8080/v1/AUTH_chan-FOP-FIS-CORE/fis/fmasterPri2021111818160528759a5e0777176fe8f6414da30a180d2bca4.mp4?temp_url_sig=558b883102cbd8e4b18ea0ce7838d8c4bbe1d290&temp_url_expires=1638852915"
                        }
                    ],
                    "isRateReward": false,
                    "orderSource": "FMASTER",
                    "orderTag": "SF",
                    "packageCount": 1,
                    "rateRewardValue": 15,
                    "receiverAddress": "天津市天津市和平区1",
                    "receiverName": "444",
                    "receiverPhone": "17670459501",
                    "remark": "",
                    "serviceType": 1,
                    "supplierOrderStatus": "2",
                    "taskCode": "502540",
                    "totalVolume": "",
                    "totalWeight": "",
                    "updateOrder": false,
                    "version": 2,
                    "waybillNo": "SJA100100232491"
                }
            ]
        }
        标准报文参考-多个品类：

        {
            "orderList": [
                {
                    "businessCode": "HY0001",
                    "businessName": "家具",
                    "cargoName": "1个格子",
                    "expectServiceTime": "",
                    "installTypes": [
                        {
                            "count": 1,
                            "imageUrl": "https://chan-fop-chan-site-shenzhen-xili1-oss.sit.sf-express.com/v1.2/AUTH_chan-FOP-CHAN-SITE/sfosspublic001/fmasterPub202111181816013859bIMG20201105_104924.png,https://chan-fop-chan-site-shenzhen-xili1-oss.sit.sf-express.com/v1.2/AUTH_chan-FOP-CHAN-SITE/sfosspublic001/fmasterPub202111181816013859bIMG20201105_104924.png",
                            "installTypeCode": "8891886",
                            "installTypeName": "1个格子",
                            "installRemark":"这是当前安装品类的备注哟",
                            "videoUrl": "http://chan-fop-fis-core-shenzhen-xili1-oss.sit.sf-express.com:8080/v1/AUTH_chan-FOP-FIS-CORE/fis/fmasterPri2021111818160528759a5e0777176fe8f6414da30a180d2bca4.mp4?temp_url_sig=558b883102cbd8e4b18ea0ce7838d8c4bbe1d290&temp_url_expires=1638852915,http://chan-fop-fis-core-shenzhen-xili1-oss.sit.sf-express.com:8080/v1/AUTH_chan-FOP-FIS-CORE/fis/fmasterPri2021111818160528759a5e0777176fe8f6414da30a180d2bca4.mp4?temp_url_sig=558b883102cbd8e4b18ea0ce7838d8c4bbe1d290&temp_url_expires=1638852915"
                        },
                {
                            "count": 1,
                            "imageUrl": "https://chan-fop-chan-site-shenzhen-xili1-oss.sit.sf-express.com/v1.2/AUTH_chan-FOP-CHAN-SITE/sfosspublic001/fmasterPub202111181816013859bIMG20201105_104924.png,https://chan-fop-chan-site-shenzhen-xili1-oss.sit.sf-express.com/v1.2/AUTH_chan-FOP-CHAN-SITE/sfosspublic001/fmasterPub202111181816013859bIMG20201105_104925.png",
                            "installTypeCode": "8891887",
                            "installTypeName": "2个格子",
                            "installRemark":"这是当前安装品类的备注哟2",
                            "videoUrl": "http://chan-fop-fis-core-shenzhen-xili1-oss.sit.sf-express.com:8080/v1/AUTH_chan-FOP-FIS-CORE/fis/fmasterPri2021111818160528759a5e0777176fe8f6414da30a180d2bca4.mp4?temp_url_sig=558b883102cbd8e4b18ea0ce7838d8c4bbe1d290&temp_url_expires=1638852915,http://chan-fop-fis-core-shenzhen-xili1-oss.sit.sf-express.com:8080/v1/AUTH_chan-FOP-FIS-CORE/fis/fmasterPri2021111818160528759a5e0777176fe8f6414da30a180d2bca4.mp4?temp_url_sig=558b883102cbd8e4b18ea0ce7838d8c4bbe1d290&temp_url_expires=1638852916"
                        }
                    ],
                    "isRateReward": false,
                    "orderSource": "FMASTER",
                    "orderTag": "SF",
                    "packageCount": 1,
                    "rateRewardValue": 15,
                    "receiverAddress": "天津市天津市和平区1",
                    "receiverName": "444",
                    "receiverPhone": "17670459501",
                    "remark": "",
                    "serviceType": 1,
                    "supplierOrderStatus": "2",
                    "taskCode": "502540",
                    "totalVolume": "",
                    "totalWeight": "",
                    "updateOrder": false,
                    "version": 2,
                    "waybillNo": "SJA100100232491"
                }
            ]
        }
        标准返回报文参考：
        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":null
        }
        附录1.1
        注意： 接收报文方应按照标准返回报文格式返回是否已接受到任务推送信息，否则系统自动重试10次。

        增值服务代码	增值服务名称
        JZ17	好评返现
        JZ22	当日达
        */
    }
    /// <summary>
    /// 安装任务推送接口（快运API-安装服务-供应商接入） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisOrder
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
    }

    #endregion 安装任务推送接口

    #region 推送到货信息

    /// <summary>
    /// 推送到货信息（快运API-安装服务-供应商接入） 业务数据请求报文
    /// </summary>
    public class RequestPushFisDeliveryNotice
    {
        /// <summary>
        /// 母单号
        /// 是
        /// string
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 任务编码
        /// 是
        /// string
        /// </summary>
        public string taskCode { set; get; }
        /// <summary>
        /// 到货时间 格式为：yyyy-MM-hh HH:mm:ss
        /// 是
        /// string
        /// </summary>
        public string time { set; get; }
        /// <summary>
        /// 服务类型  1:上门安装 2：提货+安装
        /// 是
        /// int
        /// </summary>
        public int serviceType { set; get; }
        /// <summary>
        /// 提货网点 提货的网点，如上梅林集配站
        /// 否
        /// string
        /// </summary>
        public string pickupZone { set; get; }
        /// <summary>
        /// 提货联系人
        /// 否
        /// string
        /// </summary>
        public string pickupContact { set; get; }
        /// <summary>
        /// 提货联系电话 电话有可能是手机或固定电话，不能保证格式统一
        /// 否
        /// string
        /// </summary>
        public string pickupPhone { set; get; }
        /// <summary>
        /// 提货地址
        /// 否
        /// string
        /// </summary>
        public string pickupAddress { set; get; }
        /// <summary>
        /// 收件人
        /// 是
        /// string
        /// </summary>
        public string receiveContact { set; get; }
        /// <summary>
        /// 收件联系人电话
        /// 是
        /// string
        /// </summary>
        public string receivePhone { set; get; }
        /// <summary>
        /// 收件人地址的省
        /// 是
        /// string
        /// </summary>
        public string receiveProvince { set; get; }
        /// <summary>
        /// 收件人地址的市
        /// 是
        /// string
        /// </summary>
        public string receiveCity { set; get; }
        /// <summary>
        /// 收件人地址的区
        /// 否
        /// string
        /// </summary>
        public string receiveCounty { set; get; }
        /// <summary>
        /// 收件人详细地址
        /// 是
        /// string
        /// </summary>
        public string receiveAddress { set; get; }
        /// <summary>
        /// 包裹数量
        /// 是
        /// int
        /// </summary>
        public int parcelQuantity { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必有	数据类型	说明
        waybillNo	母单号	true	string	
        taskCode	任务编码	true	string	
        time	到货时间	true	string	格式为：yyyy-MM-hh HH:mm:ss
        serviceType	服务类型	true	int	1:上门安装 2：提货+安装
        pickupZone	提货网点	false	string	提货的网点，如上梅林集配站
        pickupContact	提货联系人	false	string	
        pickupPhone	提货联系电话	false	String	电话有可能是手机或固定电话，不能保证格式统一
        pickupAddress	提货地址	false	String	
        receiveContact	收件人	true	string	
        receivePhone	收件联系人电话	true	string	
        receiveProvince	收件人地址的省	true	string	
        receiveCity	收件人地址的市	true	string	
        receiveCounty	收件人地址的区	false	string	
        receiveAddress	收件人详细地址	true	string	
        parcelQuantity	包裹数量	true	int	
        标准报文参考：

        {
            "orderTag": "SF",
            "receiveAddress": "广东省深圳市南山区粤海街道彩讯科创中心",
            "receiveCity": "深圳市",
            "receiveContact": "张三",
            "receiveCounty": "南山区",
            "receivePhone": "13590158092",
            "receiveProvince": "广东省",
            "serviceType": 1,
            "taskCode": "393470",
            "time": "2021-08-31 11:31:50",
            "waybillNo": "SJA100100177096"
        }
        */
    }
    /// <summary>
    /// 推送到货信息（快运API-安装服务-供应商接入） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisDeliveryNotice
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数
        注意： 接收报文方应按照标准返回报文格式返回是否已接受到任务推送信息，否则系统自动重试10次。

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	返回数据
        标准返回报文参考：
        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":null
        } 
        */
    }

    #endregion 推送到货信息

    #region 图片回传接口

    #endregion 图片回传接口

    #region 增值服务审核

    /// <summary>
    /// 增值服务审核（快运API-安装服务-供应商接入） 业务数据请求报文
    /// </summary>
    public class RequestPushFisAuditComment
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String
        /// </summary>
        /// 
        public string waybillNo { set; get; }
        /// <summary>
        /// 审核状态 AUDIT_PASSED：审核通过 AUDIT_REFUSED：审核拒绝
        /// 是
        /// String
        /// </summary>
        /// 
        public string auditStatus { set; get; }
        /// <summary>
        /// 审核描述 审核拒绝时，客户必填
        /// 否
        /// String
        /// </summary>
        /// 
        public string auditRemark { set; get; }
        /// <summary>
        /// 审核项 详情见附录1.2增值服务代码， 为空默认为好评返现
        /// 否
        /// String
        /// </summary>
        /// 
        public string auditItem { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        waybillNo	运单号	true	String	
        auditStatus	审核状态	true	String	AUDIT_PASSED：审核通过 AUDIT_REFUSED：审核拒绝
        auditRemark	审核描述	false	String	审核拒绝时，客户必填
        auditItem	审核项	false	String	详情见附录1.2增值服务代码， 为空默认为好评返现
        */
    }
    /// <summary>
    /// 增值服务审核（快运API-安装服务-供应商接入） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisAuditComment
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null
        }
        */
    }

    #endregion 增值服务审核

    #region 推送期望服务时间

    /// <summary>
    /// 推送期望服务时间（快运API-安装服务-供应商接入） 业务数据请求报文
    /// </summary>
    public class RequestPushFisExpediteInstallNotice
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 任务编码
        /// 是
        /// string
        /// </summary>
        public string taskCode { set; get; }
        /// <summary>
        /// 操作时间 格式为：yyyy-MM-hh HH:mm:ss
        /// 是
        /// string
        /// </summary>
        public string opTime { set; get; }
        /// <summary>
        /// 物流预计到达时间/期望服务时间 格式为：yyyy-MM-hh HH:mm
        /// 是
        /// string
        /// </summary>
        public string expectInstallTime { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必有	数据类型	说明
        waybillNo	订单号	true	string	订单号
        taskCode	任务编码	true	string	任务编码
        opTime	操作时间	true	string	格式为：yyyy-MM-hh HH:mm:ss
        expectInstallTime	物流预计到达时间/期望服务时间	true	string	格式为：yyyy-MM-hh HH:mm
        请求报文参考：
        {
         "waybillNo":"SF1654162132123",
         "taskCode":"846685",
         "opTime" :"2024-03-15 17:14:30",
         "expectInstallTime ":"2024-03-16 15:02"
        }
        */
    }
    /// <summary>
    /// 推送期望服务时间（快运API-安装服务-供应商接入） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisExpediteInstallNotice
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数
        注意： 接收报文方应按照标准返回报文格式返回是否已接受到期望服务时间推送信息，否则系统自动重试10次。

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	返回数据
        标准返回报文参考：

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":null
        } 
        */
    }

    #endregion 推送期望服务时间

    #region 操作节点回传接口

    /// <summary>
    /// 操作节点回传接口（快运API-安装服务-供应商接入） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestFisRouter
    {
        /// <summary>
        /// 预约时间  预约时间（已废弃）
        /// 否
        /// string
        /// </summary>
        public string appTime { set; get; }
        /// <summary>
        /// 预约开始时间 格式”yyyy-MM-dd HH:mm:ss “，预约操作时此字段必填（新增）
        /// 否
        /// string
        /// </summary>
        public string appStartTime { set; get; }
        /// <summary>
        /// 预约结束时间 格式”yyyy-MM-dd HH:mm:ss “，预约操作时此字段必填（新增）
        /// 否
        /// string
        /// </summary>
        public string appEndTime { set; get; }
        /// <summary>
        /// 当前城市
        /// 否
        /// string
        /// </summary>
        public string city { set; get; }
        /// <summary>
        /// 操作描述 所有操作必须有此字段，格式可按下面说明进行编写
        /// 是
        /// string
        /// </summary>
        public string content { set; get; }
        /// <summary>
        /// 异常编码 （此字段为预留字段，暂未启用）
        /// 否
        /// integer
        /// </summary>
        public int exceptionCode { set; get; }
        /// <summary>
        /// 安装师傅联系方式 分配安装师傅节点必填
        /// 否
        /// string
        /// </summary>
        public string installContact { set; get; }
        /// <summary>
        /// 安装师傅紧急联系方式 安装师傅备用联系电话
        /// 否
        /// string
        /// </summary>
        public string emergContactPhone { set; get; }
        /// <summary>
        /// 安装师傅 分配安装师傅时必填，未分配安装师傅前传操作员
        /// 否
        /// string
        /// </summary>
        public string installMaster { set; get; }
        /// <summary>
        /// 操作码 操作码见下面枚举, 提货请传入 9
        /// 是
        /// integer
        /// </summary>
        public int operateCode { set; get; }
        /// <summary>
        /// 操作时间 格式”yyyy-MM-dd HH:mm:ss “
        /// 是
        /// string
        /// </summary>
        public string operateTime { set; get; }
        /// <summary>
        /// 任务编码 唯一标志
        /// 是
        /// string
        /// </summary>
        public string taskCode { set; get; }
        /// <summary>
        /// 唯一校验码
        /// 否
        /// string
        /// </summary>
        public string uniqueId { set; get; }
        /// <summary>
        /// 核销码 无需对接，字段未启用
        /// 否
        /// string
        /// </summary>
        public string verifyCancelCode { set; get; }
        /// <summary>
        /// 运单号 母单号
        /// 是
        /// string
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 操作图片url operateCode = 21时必传 , 最多10张,需联系顺丰科技人员开墙
        /// 否
        /// List<String>
        /// </summary>
        public string[] images { set; get; }
        /// <summary>
        /// 故障原因 operateCode = 21时必传 ，最多3个
        /// 否
        /// List<String>
        /// </summary>
        public string[] faultCause { set; get; }
        /// <summary>
        /// 是否需要补发配件 0否1是，operateCode = 21时必传
        /// 否
        /// int
        /// </summary>
        public int isSendPart { set; get; }
        /// <summary>
        /// 是否自购配件 0否1是，operateCode = 21时必传
        /// 否
        /// int
        /// </summary>
        public int isSelfPurchasePart { set; get; }
        /// <summary>
        /// 配件型号 operateCode = 21时，且isSendPart = 1 或 isSelfPurchasePart=1时必传
        /// 否
        /// List<String>
        /// </summary>
        public string[] partModels { set; get; }
        /// <summary>
        /// 自购配件金额 isSelfPurchasePart = 1时必传
        /// 否
        /// List<String>
        /// </summary>
        public double partAmount { set; get; }
        /*	
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        appTime	预约时间	false	string	预约时间（已废弃）
        appStartTime	预约开始时间	false	string	格式”yyyy-MM-dd HH:mm:ss “，预约操作时此字段必填（新增）
        appEndTime	预约结束时间	false	string	格式”yyyy-MM-dd HH:mm:ss “，预约操作时此字段必填（新增）
        city	当前城市	false	string	
        content	操作描述	true	string	所有操作必须有此字段，格式可按下面说明进行编写
        exceptionCode	异常编码	false	integer	（此字段为预留字段，暂未启用）
        installContact	安装师傅联系方式	false	string	分配安装师傅节点必填
        emergContactPhone	安装师傅紧急联系方式	false	string	安装师傅备用联系电话
        installMaster	安装师傅	false	string	分配安装师傅时必填，未分配安装师傅前传操作员
        operateCode	操作码	true	integer	操作码见下面枚举, 提货请传入 9
        operateTime	操作时间	true	string	格式”yyyy-MM-dd HH:mm:ss “
        taskCode	任务编码	true	string	唯一标志
        uniqueId	唯一校验码	false	string	
        verifyCancelCode	核销码	false	string	无需对接，字段未启用
        waybillNo	运单号	true	string	母单号
        images	操作图片url	false	List<String>	operateCode = 21时必传 , 最多10张,需联系顺丰科技人员开墙
        faultCause	故障原因	false	List<String>	operateCode = 21时必传 ，最多3个
        isSendPart	是否需要补发配件	false	int	0否1是 ，operateCode = 21时必传
        isSelfPurchasePart	是否自购配件	false	int	0否1是，operateCode = 21时必传
        partModels	配件型号	false	List<String>	operateCode = 21时，且isSendPart = 1 或 isSelfPurchasePart=1时必传
        partAmount	自购配件金额	false	double	isSelfPurchasePart = 1时必传

        操作码枚举(数字为操作码，操作类型，操作描述示例)

        DISPATCH_INSTALLER(  1, "分配安装师傅"，"安装师傅:姜华,联系方式：180"),
        SJOB_DONE_STATE(  3, "完工","师傅已服务完工")(可不传此节点，仅上传完工图片就ok),
        STAKE_CARGO_STATE(  9, "提货","提货人：姜华，提货时间:...，提货人联系方式：..."),
        SAPPOINTMENT_ED_STATE(  10, "预约成功"，"安装师傅:姜华,联系方式：180,预约时间：2020-12-08 15:00:00"),
        SCANCEL_VERIFICATION_STATE(  11, "核销"，"核销"),
        INSTALL_EXCEPTION(  13, "安装异常"，"取消原因：客户已安装"、"用户取消安装、异常的描述按实际情况反馈"),
        APPOINTMENT_FAILED(  14, "预约失败"，"安装师傅:姜华,联系方式：180,预约失败,预约时间：2020-12-08 15:00:00")，
        OP_VISIT_CLOCK( 16,"上门打卡"),//2021.11.09新增
        GOOD_COMMENT(20,"好评返现"),
        CHECK_FAULTS(21,"检测"),
        */
    }
    /// <summary>
    /// 操作节点回传接口（快运API-安装服务-供应商接入） 业务数据返回报文
    /// </summary>
    public class ResponseFisRouter
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
    }

    #endregion 操作节点回传接口

    #region 推送配件物流信息

    /// <summary>
    /// 推送配件物流信息（快运API-安装服务-供应商接入） 业务数据请求报文
    /// </summary>
    public class RequestPushFisPartTrans
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 任务编码
        /// 是
        /// string
        /// </summary>
        public string taskCode { set; get; }
        /// <summary>
        /// 物流公司名称 如顺丰速运
        /// 是
        /// string
        /// </summary>
        public string logisticsCompany { set; get; }
        /// <summary>
        /// 配件运单号 如SF123156105615600
        /// 是
        /// string
        /// </summary>
        public string partWaybillNo { set; get; }
        /// <summary>
        /// 配件是否到货 0否 1是
        /// 是
        /// int
        /// </summary>
        public int isArrive { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必有	数据类型	说明
        waybillNo	订单号	true	string	
        taskCode	任务编码	true	string	
        logisticsCompany	物流公司名称	true	string	如顺丰速运
        partWaybillNo	配件运单号	true	string	如SF123156105615600
        isArrive	配件是否到货	true	int	0否 1是
        标准报文参考：

        {
         "logisticsCompany": "顺丰速运",
         "waybillNo": "SJA2015105615",
         "taskCode":"489434",
         "partWaybillNo":"SF132156105615",
         "isArrive": 0
        }
        */
    }
    /// <summary>
    /// 推送配件物流信息（快运API-安装服务-供应商接入） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisPartTrans
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数
        注意： 接收报文方应按照标准返回报文格式返回是否已接受到任务推送信息，否则系统自动重试10次。

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	返回数据
        标准返回报文参考：
        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":null
        }
        */
    }

    #endregion 推送配件物流信息

    #region 审核配件申请

    /// <summary>
    /// 审核配件申请（快运API-安装服务-供应商接入） 业务数据请求报文
    /// </summary>
    public class RequestPushFisAuditPart
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 任务编码
        /// 是
        /// string
        /// </summary>
        public string taskCode { set; get; }
        /// <summary>
        /// 审核状态  AUDIT_PASSED：审核通过 AUDIT_REFUSED：审核拒绝
        /// 是
        /// int
        /// </summary>
        public int auditStatus { set; get; }
        /// <summary>
        /// 是否需要继续服务  如果师傅发起的是自购配件申请，且被商家拒绝时此字段有值，0表示不需要继续服务，关闭订单。 1表示需要继续服务，商家补发配件
        /// 否
        /// int
        /// </summary>
        public int isContinuedService { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必有	数据类型	说明
        waybillNo	订单号	true	string	
        taskCode	任务编码	true	string	
        auditStatus	审核状态	true	int	AUDIT_PASSED：审核通过 AUDIT_REFUSED：审核拒绝
        isContinuedService	是否需要继续服务	false	int	如果师傅发起的是自购配件申请，且被商家拒绝时此字段有值，0表示不需要继续服务，关闭订单。 1表示需要继续服务，商家补发配件
        
        标准报文参考：

        {

         "waybillNo": "SJA12615616",
         "taskCode": "448945",
         "auditStatus":"AUDIT_PASSED"
        }
        */
    }
    /// <summary>
    /// 审核配件申请（快运API-安装服务-供应商接入） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisAuditPart
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        1返回参数
        注意： 接收报文方应按照标准返回报文格式返回是否已接受到任务推送信息，否则系统自动重试10次。

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	返回数据
        标准返回报文参考：
        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":null
        } 
        */
    }

    #endregion 审核配件申请

    #endregion 安装服务-供应商接入

    #region 安装服务-供应商自主报价

    #region 下单

    /// <summary>
    /// 下单（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class RequestPushFisBidOrder
    {
        /// <summary>
        /// 订单号 唯一
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 订单来源 如京东
        /// 否
        /// string
        /// </summary>
        public string orderSource { set; get; }
        /// <summary>
        /// 商家订单号 如京东订单号
        /// 否
        /// string
        /// </summary>
        public string customOrderId { set; get; }
        /// <summary>
        /// 下单联系人
        /// 否
        /// string
        /// </summary>
        public string orderContact { set; get; }
        /// <summary>
        /// 下单联系人电话 客户联系不上时，师傅可联系下单人
        /// 否
        /// string
        /// </summary>
        public string orderContactPhone { set; get; }
        /// <summary>
        /// 客户姓名
        /// 是
        /// string
        /// </summary>
        public string receiverName { set; get; }
        /// <summary>
        /// 安装类型  1:上门安装 2：提货+安装 3：配送 4.维修
        /// 是
        /// int
        /// </summary>
        public int serviceType { set; get; }
        /// <summary>
        /// 客户电话 支持隐私号格式，例：13544553321-1234或13255554412,1548
        /// 是
        /// string
        /// </summary>
        public string receiverPhone { set; get; }
        /// <summary>
        /// 客户地址
        /// 是
        /// string
        /// </summary>
        public string receiverAddress { set; get; }
        /// <summary>
        /// 客户省  如广东省
        /// 是
        /// string
        /// </summary>
        public string receiverProvince { set; get; }
        /// <summary>
        /// 客户市  如深圳市
        /// 是
        /// string
        /// </summary>
        public string receiverCity { set; get; }
        /// <summary>
        /// 客户区  如南山区
        /// 是
        /// string
        /// </summary>
        public string receiverCounty { set; get; }
        /// <summary>
        /// 提货电话  当serviceType =2 或者serviceType = 3时必传
        /// 否
        /// string
        /// </summary>
        public string pickupPhone { set; get; }
        /// <summary>
        /// 提货地址  当serviceType =2 或者serviceType = 3时必传
        /// 否
        /// string
        /// </summary>
        public string pickupAddress { set; get; }
        /// <summary>
        /// 物流公司名称
        /// 否
        /// string
        /// </summary>
        public string logisticsCompany { set; get; }
        /// <summary>
        /// 物流运单号
        /// 否
        /// string
        /// </summary>
        public string logisticsNo { set; get; }
        /// <summary>
        /// 到货状态，1：已到货 2：未到货  serviceType=1时，表示货物已到客户家。 serviceType=2时，表示货物已到提货地址。
        /// 是
        /// int
        /// </summary>
        public int arriveStatus { set; get; }
        /// <summary>
        /// 预计到货时间 如2021-09-01 10:30:00
        /// 否
        /// string
        /// </summary>
        public string expectArriveTime { set; get; }
        /// <summary>
        /// 期望上门安装时间 如2021-09-01 10:30:00
        /// 否
        /// string
        /// </summary>
        public string expectInstallTime { set; get; }
        /// <summary>
        /// 货物件数
        /// 是
        /// int
        /// </summary>
        public int packageCount { set; get; }
        /// <summary>
        /// 备注
        /// 否
        /// string
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 安装品类 参见 InstallTypeDto
        /// 是
        /// List
        /// </summary>
        public List<InstallTypeDto> installTypes { set; get; }
        /// <summary>
        /// 增值服务 参见 AddedServiceDto
        /// 否
        /// List<AddedServiceDto>
        /// </summary>
        public List<AddedServiceDto> addedServices { set; get; }
        /// <summary>
        /// 扩展字段 Key & Value数据对	
        /// 否
        /// Map<String, String>	
        /// </summary>
        public List<ExtraMap> extendInfo { set; get; }
        /// <summary>
        /// 指定师傅id
        /// 否
        /// string
        /// </summary>
        public string selectMasterId { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必有	数据类型	说明
        orderNo	订单号	true	string	唯一
        orderSource	订单来源	false	string	如京东
        customOrderId	商家订单号	false	string	如京东订单号
        orderContact	下单联系人	false	string	
        orderContactPhone	下单联系人电话	false	string	客户联系不上时，师傅可联系下单人
        receiverName	客户姓名	true	string	
        serviceType	安装类型	true	int	1:上门安装 2：提货+安装 3：配送 4.维修
        receiverPhone	客户电话	true	string	支持隐私号格式，例：13544553321-1234或13255554412,1548
        receiverAddress	客户地址	true	string	
        receiverProvince	客户省	true	string	如广东省
        receiverCity	客户市	true	string	如深圳市
        receiverCounty	客户区	true	string	如南山区
        pickupPhone	提货电话	false	string	当serviceType =2 或者serviceType = 3时必传
        pickupAddress	提货地址	false	string	当serviceType =2 或者serviceType = 3时必传
        logisticsCompany	物流公司名称	false	string	
        logisticsNo	物流运单号	false	string	
        arriveStatus	到货状态，1：已到货 2：未到货	true	int	serviceType=1时，表示货物已到客户家。 serviceType=2时，表示货物已到提货地址。
        expectArriveTime	预计到货时间	false	string	如2021-09-01 10:30:00
        expectInstallTime	期望上门安装时间	false	string	如2021-09-01 10:30:00
        packageCount	货物件数	false	int	
        remark	备注	false	string	
        installTypes	要安装的品类	true	List<InstallTypeDto>	参见 InstallTypeDto
        addedServices	增值服务	false	List<AddedServiceDto>	参见 AddedServiceDto
        extendInfo	扩展字段	false	Map<String, String>	Key & Value数据对
        selectMasterId	指定师傅id	false	string	
        InstallTypeDto
        参数名称	参数说明	是否必有	数据类型	说明
        installTypeCode	安装品类编码	true	String	
        installTypeName	安装品类名	true	String	如柜子
        imageUrl	品类图片，多个用逗号分隔	false	String	
        videoUrl	安装视频，多个用逗号分隔	false	String	链接有效期1天，请供应商视情况转存到自己的存储空间
        installRemark	安装备注	false	string	
        count	数量	true	int	注意：此字段是安装品类的数量
        businessCode	行业编码	true	string	HY0001：家具 HY0003：卫浴
        businessName	行业名称	true	string	如：家具
        AddedServiceDto（详情见附录1）
        参数名称	参数说明	是否必有	数据类型	说明
        addedServiceName	增值服务名	true	String	
        addedServiceCode	增值服务代码	true	String	
        addedServicePrice	增值服务价格	false	double(20,2)	
        请求报文参考：

        */
    }
    /// <summary>
    /// 下单（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisBidOrder
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /// <summary>
        /// 返回数据，参考如下
        /// 否
        /// String
        /// </summary>
        public PushFisBidOrderObj obj { get; set; }
        /*
        返回参数
        注意： 接收报文方应按照标准返回报文格式返回是否已接受到任务推送信息，否则系统自动重试10次。

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	返回数据，参考如下
        obj：

        属性名	参数类型	是否必传	描述
        supplierOrderNo	String	true	供应商系统订单号
        标准返回报文参考：

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":{
            "supplierOrderNo":"P15651023"  
            }
        } 
        */
    }
    public class PushFisBidOrderObj
    {
        /// <summary>
        /// 供应商系统订单号
        /// 是
        /// String
        /// </summary>
        public string supplierOrderNo { set;get; }
    }

    #endregion 下单

    #region 关单

    /// <summary>
    /// 关单（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class RequestPushFisBidCloseOrder
    {
        /// <summary>
        /// 订单号 唯一
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必有	数据类型	说明
        orderNo	订单号	true	string	唯一
        */
    }
    /// <summary>
    /// 关单（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisBidCloseOrder
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数
        注意： 接收报文方应按照标准返回报文格式返回是否已接受到任务推送信息，否则系统自动重试10次。

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	返回数据
        标准返回报文参考：

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":null
        }
        */
    }

    #endregion 关单

    #region 回传报价

    /// <summary>
    /// 回传报价（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestFisQuote
    {
        /// <summary>
        /// 订单号  唯一
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 师傅姓名
        /// 是
        /// string
        /// </summary>
        public string masterName { set; get; }
        /// <summary>
        /// 师傅头像 图片url
        /// 否
        /// string
        /// </summary>
        public string avatar { set; get; }
        /// <summary>
        /// 报价金额 最多两位小数
        /// 是
        /// double(20,2)
        /// </summary>
        public double offerPrice { set; get; }
        /// <summary>
        /// 师傅id 供应商师傅id,唯一
        /// 是
        /// string
        /// </summary>
        public string masterId { set; get; }
        /// <summary>
        /// 好评率 取值0.1~100 ，如99.8，不带%
        /// 否
        /// string
        /// </summary>
        public string goodRatePercent { set; get; }
        /// <summary>
        /// 差评数
        /// 否
        /// int
        /// </summary>
        public int negativeCommentCount { set; get; }
        /// <summary>
        /// 被投诉次数
        /// 否
        /// int
        /// </summary>
        public int complaintCount { set; get; }
        /// <summary>
        /// 合作次数
        /// 否
        /// int
        /// </summary>
        public int coWorkTimes { set; get; }
        /// <summary>
        /// 最近服务过的商品
        /// 否
        /// string
        /// </summary>
        public string masterLatestGoodsCat { set; get; }
        /// <summary>
        /// 近30天成交量
        /// 否
        /// int
        /// </summary>
        public int r30dTradeComplete { set; get; }
        /// <summary>
        /// 师傅综合评分  取值0.1~5，如4.5
        /// 否
        /// string
        /// </summary>
        public string starsAvg { set; get; }
        /// <summary>
        /// 师傅缴纳的保证金金额
        /// 否
        /// double(20,2)
        /// </summary>
        public double certifyAmount { set; get; }
        /*	
        供应商师傅对订单进行报价后，通过此接口回传报价信息
        url：http://fapi.sit.sf-express.com/fopApiServices/access/enter
        Service Code： FOP_RECE_FIS_QUOTE

        接口参数
        参数名称	参数说明	是否必有	数据类型	说明
        orderNo	订单号	true	string	唯一
        masterName	师傅姓名	true	string	
        avatar	师傅头像	false	string	图片url
        offerPrice	报价金额	true	double(20,2)	最多两位小数
        masterId	师傅id	true	string	供应商师傅id,唯一
        goodRatePercent	好评率	false	string	取值0.1~100 ，如99.8，不带%
        negativeCommentCount	差评数	false	int	
        complaintCount	被投诉次数	false	int	
        coWorkTimes	合作次数	false	int	
        masterLatestGoodsCat	最近服务过的商品	false	string	
        r30dTradeComplete	近30天成交量	false	int	
        starsAvg	师傅综合评分	false	string	取值0.1~5，如4.5
        certifyAmount	师傅缴纳的保证金金额	false	double(20,2)	
        */
    }
    /// <summary>
    /// 回传报价（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseFisQuote
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	返回数据
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":null
        } 
        */
    }

    #endregion 回传报价

    #region 雇佣师傅

    /// <summary>
    /// 雇佣师傅（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class RequestPushFisHireMaster
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 师傅id  回传报价接口中的masterId
        /// 是
        /// string
        /// </summary>
        public string masterId { set; get; }
        /// <summary>
        /// 师傅报价  回传报价接口中的offerPrice
        /// 是
        /// double(20,2)
        /// </summary>
        public double offerPrice { set; get; }
        /*
        接口说明：
        供应商师傅报价后，顺丰调用此接口进行选择师傅

        url：由供应商提供

        Service Code： FOP_PUSH_FIS_HIRE_MASTER

        接口参数
        参数名称	参数说明	是否必有	数据类型	说明
        orderNo	订单号	true	string	
        masterId	师傅id	true	string	回传报价接口中的masterId
        offerPrice	师傅报价	true	double(20,2)	回传报价接口中的offerPrice
        返回参数
        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码，供应商返回以下错误代码，顺丰认为雇佣失败，其他的错误码顺丰默认雇佣成功。 320039：师傅暂停接单
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	返回数据，参考如下
        obj：

        属性名	参数类型	是否必传	描述
        installConcat	String	true	雇佣师傅的联系方式
        emergContactPhone	String	false	师傅的紧急联系电话
        标准返回报文参考：

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":{
            "installConcat":"15444444444",
            "emergContactPhone":"15555555555"
          }
        }
        失败返回报文参考：

        {
        "success":false,
        "errorCode":"320039",
        "errorMessage":"师傅暂停接单",
        "obj":null
        }
        */
    }
    /// <summary>
    /// 雇佣师傅（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisHireMaster
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /// <summary>
        /// 返回数据，参考如下
        /// 否
        /// Object
        /// </summary>
        public PushFisHireMasterObj obj { get; set; }
        /*
        返回参数
        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码，供应商返回以下错误代码，顺丰认为雇佣失败，其他的错误码顺丰默认雇佣成功。 320039：师傅暂停接单
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	返回数据，参考如下
        obj：

        属性名	参数类型	是否必传	描述
        installConcat	String	true	雇佣师傅的联系方式
        emergContactPhone	String	false	师傅的紧急联系电话
        标准返回报文参考：

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":{
            "installConcat":"15444444444",
            "emergContactPhone":"15555555555"
          }
        }
        失败返回报文参考：

        {
        "success":false,
        "errorCode":"320039",
        "errorMessage":"师傅暂停接单",
        "obj":null
        }
        */
    }
    public class PushFisHireMasterObj
    {
        /// <summary>
        /// 雇佣师傅的联系方式
        /// 是
        /// String
        /// </summary>
        public string installConcat { set; get; }
        /// <summary>
        /// 师傅的紧急联系电话
        /// 是
        /// String
        /// </summary>
        public string emergContactPhone { set; get; }
    }

    #endregion 雇佣师傅

    #region 推送到货信息

    /// <summary>
    /// 推送到货信息（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class RequestPushFisBidDeliveryNotice
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 到货时间  格式为：yyyy-MM-hh HH:mm:ss
        /// 是
        /// string
        /// </summary>
        public string time { set; get; }
        /// <summary>
        /// 服务类型  1:上门安装 2：提货+安装
        /// 是
        /// string
        /// </summary>
        public int serviceType { set; get; }
        /// <summary>
        /// 提货联系电话 电话有可能是手机或固定电话，不能保证格式统一
        /// 否
        /// string
        /// </summary>
        public string pickupPhone { set; get; }
        /// <summary>
        /// 提货联系人
        /// 否
        /// string
        /// </summary>
        public string pickupContact { set; get; }
        /// <summary>
        /// 提货地址
        /// 否
        /// string
        /// </summary>
        public string pickupAddress { set; get; }
        /// <summary>
        /// 提货码  预留字段
        /// 否
        /// string
        /// </summary>
        public string pickupCode { set; get; }
        /// <summary>
        /// 收件人
        /// 是
        /// string
        /// </summary>
        public string receiveContact { set; get; }
        /// <summary>
        /// 收件联系人电话
        /// 是
        /// string
        /// </summary>
        public string receivePhone { set; get; }
        /// <summary>
        /// 收件人省
        /// 是
        /// string
        /// </summary>
        public string receiveProvince { set; get; }
        /// <summary>
        /// 收件人市
        /// 是
        /// string
        /// </summary>
        public string receiveCity { set; get; }
        /// <summary>
        /// 收件人区
        /// 是
        /// string
        /// </summary>
        public string receiveCounty { set; get; }
        /// <summary>
        /// 收件人详细地址
        /// 是
        /// string
        /// </summary>
        public string receiveAddress { set; get; }
        /// <summary>
        /// 包裹数量
        /// 是
        /// int
        /// </summary>
        public int parcelQuantity { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必有	数据类型	说明
        orderNo	订单号	true	string	
        time	到货时间	true	string	格式为：yyyy-MM-hh HH:mm:ss
        serviceType	服务类型	true	int	1:上门安装 2：提货+安装
        pickupPhone	提货联系电话	false	String	
        pickupContact	提货联系人	false	string	
        pickupAddress	提货地址	false	String	
        pickupCode	提货码	false	string	预留字段
        receiveContact	收件人	true	string	
        receivePhone	收件联系人电话	true	string	
        receiveProvince	收件人省	true	string	
        receiveCity	收件人市	true	string	
        receiveCounty	收件人区	true	string	
        receiveAddress	收件人详细地址	true	string	
        parcelQuantity	包裹数量	true	int	
        请求报文参考：


        */
    }
    /// <summary>
    /// 推送到货信息（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisBidDeliveryNotice
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数
        注意： 接收报文方应按照标准返回报文格式返回是否已接受到任务推送信息，否则系统自动重试10次。

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	返回数据
        标准返回报文参考：

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":null
        } 
        */
    }

    #endregion 推送到货信息

    #region 操作节点回传接口

    /// <summary>
    /// 操作节点回传接口（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestFisBidOpeartionUpload
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 操作描述
        /// 是
        /// string
        /// </summary>
        public string content { set; get; }
        /// <summary>
        /// 操作码 
        /// OP000006：已分配师傅 
        /// OP000004：已预约 
        /// OP000000：提货 
        /// OP000007：上门打卡 
        /// OP000008：装前检查 
        /// OP000001：已完工 
        /// OP000010：好评返现 
        /// OP000011：验收 
        /// OP000013：关闭
        /// 是
        /// string
        /// </summary>
        public string operateCode { set; get; }
        /// <summary>
        /// 操作时间 格式yyyy-MM-dd HH:mm:ss
        /// 是
        /// string
        /// </summary>
        public string operateTime { set; get; }
        /// <summary>
        /// 不同操作码有不同数据，具体见下面文档
        /// 操作码：OP000006（分配师傅）
        /// 参数名称 参数说明    是否必须 数据类型    说明
        /// installMaster   安装师傅姓名	true	string
        /// installConcat   安装师傅联系方式	true	string
        /// emergContactPhone   师傅联系电话	false	string
        /// 
        /// 操作码：OP000004（预约、异常预约）
        /// 参数名称 参数说明    是否必须 数据类型    说明
        /// appTime 预约时间	true	string 格式”yyyy-MM-dd HH:mm:ss “，预约操作时此字段必填
        /// functionFlag    功能标志	false	int	0.正常预约 1.异常预约
        /// remark  异常预约原因	false	string functionFlag = 1时必填
        /// 
        /// operateCode = OP000008
        /// 参数名称 参数说明    是否必填 数据类型    说明
        /// imgUrl  装前检测图地址，多个逗号分割	true	String
        /// 
        /// operateCode = OP000001（完工）
        /// 参数名称 参数说明    是否必填 数据类型    说明
        /// imgUrl  完工图地址，多个逗号分割	true	String
        /// orderOriAmt 订单原始金额（优惠前）	false	double
        /// orderDiscountAmt    订单优惠金额	false	double
        /// orderRealAmt    订单实际支付金额（优惠后）	false	double
        /// 
        /// operateCode = OP000010（好评返现）
        /// 参数名称 参数说明    是否必填 数据类型    说明
        /// imgUrl  好评返现图地址，多个逗号分割	true	String
        /// 
        /// operateCode = OP000011（验收）
        /// 参数名称 参数说明    是否必填 数据类型    说明
        /// orderOriAmt 订单原始金额（优惠前）	false	double
        /// orderDiscountAmt    订单优惠金额	false	double
        /// orderRealAmt    订单实际支付金额（优惠后）	false	double
        /// 
        /// operateCode = OP000013（关闭）
        /// 参数名称 参数说明    是否必填 数据类型    说明
        /// closeReason 订单关闭原因	true	String
        /// orderOriAmt 订单原始金额（优惠前）	false	double
        /// orderDiscountAmt    订单优惠金额	false	double
        /// orderRealAmt    订单实际支付金额（优惠后）	false	double
        /// 否
        /// Map<String,String>
        /// // 创建一个Dictionary实例
        /// Dictionary<string, string> map = new Dictionary<string, string>();
        /// // 添加键值对
        /// map.Add("key1", "value1");
        /// map.Add("key2", "value2");
        /// map.Add("key3", "value3");
        /// </summary>
        public Dictionary<string, string> operateData { set; get; }
        /*	
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        content	操作描述	true	string	所有操作必须有此字段，格式可按下面说明进行编写
        operateCode	操作码	true	integer	OP000006：已分配师傅 OP000004：已预约 OP000000：提货 OP000007：上门打卡 OP000008：装前检查 OP000001：已完工 OP000010：好评返现 OP000011：验收 OP000013：关闭
        operateTime	操作时间	true	string	格式yyyy-MM-dd HH:mm:ss
        operateData	操作数据	false	Map<String,String>	不同操作码有不同数据，具体见下面文档
        operateData字段定义：

        操作码：OP000006（分配师傅）

        参数名称	参数说明	是否必须	数据类型	说明
        installMaster	安装师傅姓名	true	string	
        installConcat	安装师傅联系方式	true	string	
        emergContactPhone	师傅联系电话	false	string	
        操作码：OP000004（预约、异常预约）

        参数名称	参数说明	是否必须	数据类型	说明
        appTime	预约时间	true	string	格式”yyyy-MM-dd HH:mm:ss “，预约操作时此字段必填
        functionFlag	功能标志	false	int	0.正常预约 1.异常预约
        remark	异常预约原因	false	string	functionFlag=1时必填
        operateCode=OP000008

        参数名称	参数说明	是否必填	数据类型	说明
        imgUrl	装前检测图地址，多个逗号分割	true	String	
        operateCode=OP000001（完工）

        参数名称	参数说明	是否必填	数据类型	说明
        imgUrl	完工图地址，多个逗号分割	true	String	
        orderOriAmt	订单原始金额（优惠前）	false	double	
        orderDiscountAmt	订单优惠金额	false	double	
        orderRealAmt	订单实际支付金额（优惠后）	false	double	
        operateCode=OP000010（好评返现）

        参数名称	参数说明	是否必填	数据类型	说明
        imgUrl	好评返现图地址，多个逗号分割	true	String	
        operateCode=OP000011（验收）

        参数名称	参数说明	是否必填	数据类型	说明
        orderOriAmt	订单原始金额（优惠前）	false	double	
        orderDiscountAmt	订单优惠金额	false	double	
        orderRealAmt	订单实际支付金额（优惠后）	false	double	
        operateCode=OP000013（关闭）

        参数名称	参数说明	是否必填	数据类型	说明
        closeReason	订单关闭原因	true	String	
        orderOriAmt	订单原始金额（优惠前）	false	double	
        orderDiscountAmt	订单优惠金额	false	double	
        orderRealAmt	订单实际支付金额（优惠后）	false	double	
        请求报文参考：


        */
    }
    /// <summary>
    /// 操作节点回传接口（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseFisBidOpeartionUpload
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	返回数据
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":null
        } 
        */
    }

    #endregion 操作节点回传接口

    #region 查询服务确认码

    /// <summary>
    /// 查询服务确认码（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class RequestPushFisQueryConfirmCode
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 确认码类型 0: 打卡码 1：确认码
        /// 是
        /// string
        /// </summary>
        public string type { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        type	确认码类型	true	string	0: 打卡码 1：确认码
        
        */
    }
    /// <summary>
    /// 查询服务确认码（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisQueryConfirmCode
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /// <summary>
        /// 描述如下
        /// 否
        /// Object
        /// </summary>
        public PushFisQueryConfirmCodeObj obj { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	描述如下
        obj：

        属性名	参数类型	是否必传	描述
        confirmCode	String	N	打卡码/确认码
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":{
           "confirmCode":"1234" 
         }
        } 
        */
    }
    public class PushFisQueryConfirmCodeObj
    {
        /// <summary>
        /// 打卡码/确认码
        /// 否
        /// String
        /// </summary>
        public string confirmCode { set; get; }
    }

    #endregion 查询服务确认码

    #region 催预约

    /// <summary>
    /// 催预约（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class RequestPushFisUrgeAppt
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 操作时间 格式为：yyyy-MM-hh HH:mm:ss
        /// 是
        /// string
        /// </summary>
        public string opTime { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必有	数据类型	说明
        orderNo	订单号	true	string	订单号
        opTime	操作时间	true	string	格式为：yyyy-MM-hh HH:mm:ss
        请求报文参考：


        */
    }
    /// <summary>
    /// 催预约（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisUrgeAppt
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数
        注意： 接收报文方应按照标准返回报文格式返回是否已接受到期望服务时间推送信息，否则系统自动重试10次。

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	返回数据
        标准返回报文参考：

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":null
        } 
        */
    }

    #endregion 催预约

    #region 申请增加费用接口

    /// <summary>
    /// 申请增加费用接口（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class RequestPushFisBidAddFee
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 增加费用流水号 唯一,用于区分多次增加费用记录
        /// 是
        /// string
        /// </summary>
        public string addFeeNo { set; get; }
        /// <summary>
        /// 功能标志 0.申请增加费用 1.取消增加费用
        /// 是
        /// string
        /// </summary>
        public string functionFlag { set; get; }
        /// <summary>
        /// 增加费用金额 单位元，保留2位小数
        /// 是
        /// double(20,2)
        /// </summary>
        public double addAmt { set; get; }
        /// <summary>
        /// 增加费用原因
        /// 否
        /// string
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 增加费用图片地址，多个逗号分割
        /// 否
        /// string
        /// </summary>
        public string imgUrl { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        addFeeNo	增加费用流水号	true	string	唯一,用于区分多次增加费用记录
        functionFlag	功能标志	true	string	0.申请增加费用 1.取消增加费用
        addAmt	增加费用金额	true	double(20,2)	单位元，保留2位小数
        remark	增加费用原因	false	String	
        imgUrl	增加费用图片地址，多个逗号分割	false	String	
        
        */
    }
    /// <summary>
    /// 申请增加费用接口（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisBidAddFee
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /// <summary>
        /// 如下
        /// 否
        /// Object
        /// </summary>
        public PushFisBidAddFeeObj obj { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码 A0001：流水号重复 A0002：订单已完成，不可增加费用 A0003：未雇佣师傅，不可增加费用 A0004：订单已关闭，不可增加费用 A0005：增加费用已处理，不可取消 A0006：其他错误
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	如下
        obj：

        属性名	参数类型	是否必传	描述
        outAddFeeNo	String	false	供应商系统增加费用流水号，推荐回传方便对账
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":{
            "outAddFeeNo":"A1234648631"
          }
        } 
        */
    }
    public class PushFisBidAddFeeObj
    {
        /// <summary>
        /// 供应商系统增加费用流水号，推荐回传方便对账
        /// 否
        /// String
        /// </summary>
        public string outAddFeeNo { set; get; }
    }

    #endregion 申请增加费用接口

    #region 增加费用结果回传

    /// <summary>
    /// 增加费用结果回传（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestFisBidAddFeeResult
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 增加费用流水号  用于区分多次增加费用记录
        /// 是
        /// string
        /// </summary>
        public string addFeeNo { set; get; }
        /// <summary>
        /// 处理结果  1.师傅同意 2.师傅拒绝
        /// 是
        /// string
        /// </summary>
        public string detailResult { set; get; }
        /// <summary>
        /// 拒绝原因  detailResult=2时 必填
        /// 否
        /// string
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 增加费用金额  单位元，保留两位小数,必须和申请增加费用接口金额保持一致
        /// 否
        /// double(20,2)
        /// </summary>
        public double addAmt { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        addFeeNo	增加费用流水号	true	string	用于区分多次增加费用记录
        detailResult	处理结果	true	string	1.师傅同意 2.师傅拒绝
        remark	拒绝原因	false	string	detailResult=2时 必填
        addAmt	增加费用金额	true	double(20,2)	单位元，保留两位小数,必须和申请增加费用接口金额保持一致
        
        */
    }
    /// <summary>
    /// 增加费用结果回传（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseFisBidAddFeeResult
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":null
        } 
        */
    }

    #endregion 增加费用结果回传

    #region 增加费用结果查询

    /// <summary>
    /// 增加费用结果查询（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class RequestPushFisBidAddFeeQuery
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 增加费用流水号  用于区分多次增加费用记录
        /// 是
        /// string
        /// </summary>
        public string addFeeNo { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        addFeeNo	增加费用流水号	true	string	用于区分多次增加费用记录
        
        */
    }
    /// <summary>
    /// 增加费用结果查询（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisBidAddFeeQuery
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /// <summary>
        /// 如下
        /// 否
        /// Object
        /// </summary>
        public PushFisBidAddFeeQueryObj obj { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	如下
        obj：

        属性名	参数类型	描述
        detailResult	String	处理结果 0.待处理 1.师傅同意 2.师傅拒绝
        remark	String	拒绝原因 detailResult=2时 必填
        addAmt	double(20,2)	增加费用金额 单位元，保留两位小数,必须和申请增加费用接口金额保持一致
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":{
            "detailResult":"2",
            "remark":"师傅拒绝增加费用",
            "refundAmt": 56.78
          }
        } 
        */
    }
    public class PushFisBidAddFeeQueryObj
    {
        /// <summary>
        /// 处理结果 0.待处理 1.师傅同意 2.师傅拒绝
        /// String
        /// </summary>
        public string detailResult { get; set; }
        /// <summary>
        /// 拒绝原因 detailResult=2时 必填
        /// String
        /// </summary>
        public string remark { get; set; }
        /// <summary>
        /// 增加费用金额 单位元，保留两位小数,必须和申请增加费用接口金额保持一致
        /// double(20,2)
        /// </summary>
        public double addAmt { get; set; }
    }

    #endregion 增加费用结果查询

    #region 供应商侧发起增加费用

    /// <summary>
    /// 供应商侧发起增加费用（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestFisSupAddFee
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 增加费用流水号  唯一,用于区分多次增加费用记录
        /// 是
        /// string
        /// </summary>
        public string addFeeNo { set; get; }
        /// <summary>
        /// 功能标志  0.申请增加费用 1.取消增加费用
        /// 是
        /// string
        /// </summary>
        public string functionFlag { set; get; }
        /// <summary>
        /// 增加费用金额  单位元，保留2位小数
        /// 是
        /// double(20,2)
        /// </summary>
        public double addAmt { set; get; }
        /// <summary>
        /// 增加费用原因
        /// 否
        /// string
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 增加费用图片地址，多个逗号分割
        /// 否
        /// string
        /// </summary>
        public string imgUrl { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        addFeeNo	增加费用流水号	true	string	唯一,用于区分多次增加费用记录
        functionFlag	功能标志	true	string	0.申请增加费用 1.取消增加费用
        addAmt	增加费用金额	true	double(20,2)	单位元，保留2位小数
        remark	增加费用原因	false	String	
        imgUrl	增加费用图片地址，多个逗号分割	false	String	
        
        */
    }
    /// <summary>
    /// 供应商侧发起增加费用（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseFisSupAddFee
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /// <summary>
        /// 如下
        /// 否
        /// Object
        /// </summary>
        public FisSupAddFeeObj obj { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码 A0001：流水号重复 A0002：订单已完成，不可增加费用 A0003：未雇佣师傅，不可增加费用 A0004：订单已关闭，不可增加费用 A0005：增加费用已处理，不可取消 A0006: 有待审核的增加费用流程，请等待用户审核后再发起新的增加费用流程 A0007：其他错误
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	如下
        obj：

        属性名	参数类型	是否必传	描述
        sfAddFeeNo	String	false	顺丰系统增加费用流水号，推荐保存方便对账
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":{
            "sfAddFeeNo":"12345648798461"
          }
        } 
        */
    }
    public class FisSupAddFeeObj
    {
        /// <summary>
        /// 顺丰系统增加费用流水号，推荐保存方便对账
        /// 否
        /// String
        /// </summary>
        public string sfAddFeeNo { set; get; }
    }

    #endregion 供应商侧发起增加费用

    #region 供应商增加费用结果回传

    /// <summary>
    /// 供应商增加费用结果回传（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class RequestPushFisSupAddFeeResult
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 增加费用流水号  唯一,用于区分多次增加费用记录
        /// 是
        /// string
        /// </summary>
        public string addFeeNo { set; get; }
        /// <summary>
        /// 处理结果  1.用户同意 2.用户拒绝
        /// 是
        /// string
        /// </summary>
        public string detailResult { set; get; }
        /// <summary>
        /// 拒绝原因  detailResult=2时 必填
        /// 否
        /// string
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 增加费用金额  单位元，保留两位小数,必须和供应商申请增加费用接口金额保持一致
        /// 是
        /// double(20,2)
        /// </summary>
        public double addAmt { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        addFeeNo	增加费用流水号	true	string	用于区分多次增加费用记录
        detailResult	处理结果	true	string	1.用户同意 2.用户拒绝
        remark	拒绝原因	false	string	detailResult=2时 必填
        addAmt	增加费用金额	true	double(20,2)	单位元，保留两位小数,必须和供应商申请增加费用接口金额保持一致
        
        */
    }
    /// <summary>
    /// 供应商增加费用结果回传（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisSupAddFeeResult
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":null
        } 
        */
    }

    #endregion 供应商增加费用结果回传

    #region 供应商增加费用结果查询

    /// <summary>
    /// 供应商增加费用结果查询（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestFisSupAddFeeQuery
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 增加费用流水号  唯一,用于区分多次增加费用记录
        /// 是
        /// string
        /// </summary>
        public string addFeeNo { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        addFeeNo	增加费用流水号	true	string	用于区分多次增加费用记录
        */
    }
    /// <summary>
    /// 供应商增加费用结果查询（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseFisSupAddFeeQuery
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /// <summary>
        /// 如下
        /// 否
        /// Object
        /// </summary>
        public FisSupAddFeeQueryObj obj { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	如下
        obj：

        属性名	参数类型	是否必传	描述
        detailResult	String	Y	处理结果 0.待处理 1.用户同意 2.用户拒绝 3.师傅取消
        remark	String	N	拒绝原因 detailResult=2时 必填
        addAmt	double(20,2)	Y	增加费用金额 单位元，保留两位小数,必须和供应商申请增加费用接口金额保持一致
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":{
            "detailResult":"2",
            "remark":"用户拒绝增加费用",
            "refundAmt": 56.78
          }
        }
        */
    }
    public class FisSupAddFeeQueryObj
    {
        /// <summary>
        /// 处理结果 0.待处理 1.用户同意 2.用户拒绝 3.师傅取消
        /// 是
        /// String
        /// </summary>
        public string detailResult { set; get; }
        /// <summary>
        /// 拒绝原因 detailResult=2时 必填
        /// 否
        /// String
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 增加费用金额 单位元，保留两位小数,必须和供应商申请增加费用接口金额保持一致
        /// 是
        /// double(20,2)
        /// </summary>
        public double addAmt { set; get; }
    }

    #endregion 供应商增加费用结果查询

    #region 申请退款接口

    /// <summary>
    /// 申请退款接口（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class RequestPushFisBidRefund
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 退款流水号  唯一,用于区分多次退款记录
        /// 是
        /// string
        /// </summary>
        public string refundNo { set; get; }
        /// <summary>
        /// 退款原因类型  1.预约时间冲突，师傅无法服务 2.师傅拒绝服务 3.师傅不会安装 4.师傅工具/配件不齐全导致无法安装 5.联系不上师傅 6.其他
        /// 是
        /// string
        /// </summary>
        public string reasonType { set; get; }
        /// <summary>
        /// 退款原因说明  当reasonType=6时，这里填具体原因
        /// 否
        /// string
        /// </summary>
        public string otherReason { set; get; }
        /// <summary>
        /// 退款金额  申请退款的金额，单位元，保留两位小数
        /// 是
        /// double(20,2)
        /// </summary>
        public double refundAmt { set; get; }
        /// <summary>
        /// 退款类型  0:全额退款 1:部分退款
        /// 是
        /// int
        /// </summary>
        public int refundType { set; get; }
        /// <summary>
        /// 功能标志  0.申请退款 1.取消退款申请
        /// 是
        /// int
        /// </summary>
        public int functionFlag { set; get; }
        /// <summary>
        /// 订单标志  0:退款完成后关闭订单 1:退款完成后继续服务
        /// 是
        /// int
        /// </summary>
        public int orderFlag { set; get; }
        /// <summary>
        /// 申请退款图片地址，多个逗号分割
        /// 否
        /// string
        /// </summary>
        public string imgUrl { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        refundNo	退款流水号	true	string	唯一,用于区分多次退款记录
        reasonType	退款原因类型	true	string	1.预约时间冲突，师傅无法服务 2.师傅拒绝服务 3.师傅不会安装 4.师傅工具/配件不齐全导致无法安装 5.联系不上师傅 6.其他
        otherReason	退款原因说明	false	string	当reasonType=6时，这里填具体原因
        refundAmt	退款金额	true	double(20,2)	申请退款的金额，单位元，保留两位小数
        refundType	退款类型	true	int	0:全额退款 1:部分退款
        functionFlag	功能标志	true	int	0.申请退款 1.取消退款申请
        orderFlag	订单标志	true	int	0:退款完成后关闭订单 1:退款完成后继续服务
        imgUrl	申请退款图片地址，多个逗号分割	false	String	
        请求报文示例-申请退款：

        {
          "orderNo": "SJA100100204713_448421",
          "refundNo": "11299741538535681",
          "reasonType": "6",
          "otherReason": "客户申请退款",
          "refundAmt": "30",
          "refundType": 1,
          "functionFlag": 0,
          "orderFlag": 1,
          "imgUrl": ""
        }
        请求报文示例-取消退款申请：

        {
          "orderNo": "SJA100100204713_448421",
          "refundNo": "11299741538535681",
          "functionFlag": 1
        }
        */
    }
    /// <summary>
    /// 申请退款接口（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisBidRefund
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /// <summary>
        /// 如下
        /// 否
        /// Object
        /// </summary>
        public PushFisBidRefundObj obj { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码 R0001：流水号重复 R0002：订单已完成，不可申请退款 R0003：未雇佣师傅，不可申请退款 R0004：订单已关闭，不可申请退款 R0005：申请退款金额超过可退款金额 R0006：申请退款次数已达到最大限制 R0007：当前订单状态不可发起全部退款 R0008：申请退款已处理，不可取消 R0009：其他错误
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	如下
        obj：

        属性名	参数类型	是否必传	描述
        outRefundNo	String	false	供应商系统退款流水号，推荐回传方便对账
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":{
            "outRefundNo":"R1234648631"
          }
        } 
        */
    }
    public class PushFisBidRefundObj
    {
        /// <summary>
        /// 供应商系统退款流水号，推荐回传方便对账
        /// 否
        /// String
        /// </summary>
        public string outRefundNo { set; get; }
    }

    #endregion 申请退款接口

    #region 退款结果回传

    /// <summary>
    /// 退款结果回传（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestFisBidRefundResult
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 退款流水号  唯一,用于区分多次退款记录
        /// 是
        /// string
        /// </summary>
        public string refundNo { set; get; }
        /// <summary>
        /// 退款状态  0.师傅同意 1.师傅拒绝
        /// 是
        /// string
        /// </summary>
        public string refundStatus { set; get; }
        /// <summary>
        /// 备注  当refundStatus=1时，返回拒绝原因
        /// 否
        /// string
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 退款金额  单位元，保留两位小数。 必须和申请退款接口的金额保持一致
        /// 是
        /// double(20,2)
        /// </summary>
        public double refundAmt { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        refundNo	退款流水号	true	string	发起退款申请时的流水号
        refundStatus	退款状态	true	string	0.师傅同意 1.师傅拒绝
        remark	备注	false	string	当refundStatus=1时，返回拒绝原因
        refundAmt	退款金额	true	double(20,2)	单位元，保留两位小数。 必须和申请退款接口的金额保持一致
        
        */
    }
    /// <summary>
    /// 退款结果回传（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseFisBidRefundResult
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":null
        }
        */
    }

    #endregion 退款结果回传

    #region 退款结果查询

    /// <summary>
    /// 退款结果查询（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class RequestPushFisBidRefundQuery
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 退款流水号  发起退款申请时的流水号
        /// 是
        /// string
        /// </summary>
        public string refundNo { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        refundNo	退款流水号	true	string	发起退款申请时的流水号
        */
    }
    /// <summary>
    /// 退款结果查询（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisBidRefundQuery
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /// <summary>
        /// 如下
        /// 否
        /// Object
        /// </summary>
        public PushFisBidRefundQueryObj obj { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        obj	Object	N	如下
        obj：

        属性名	参数类型	是否必传	描述
        refundStatus	String	true	退款状态 0.师傅同意 1.师傅拒绝 2.处理中
        remark	String	false	当refundStatus=1时，返回拒绝原因
        refundAmt	double(20,2)	true	申请退款的金额，单位元，保留两位小数 必须和申请退款接口的金额保持一致
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null,
        "obj":{
            "refundStatus":"1",
            "remark":"师傅拒绝退款",
            "refundAmt": 56.78
          }
        }
        */
    }
    public class PushFisBidRefundQueryObj
    {
        /// <summary>
        /// 退款状态 0.师傅同意 1.师傅拒绝 2.处理中
        /// 是
        /// String
        /// </summary>
        public string refundStatus { get; set; }
        /// <summary>
        /// 当refundStatus=1时，返回拒绝原因
        /// 否
        /// String
        /// </summary>
        public string remark { get; set; }
        /// <summary>
        /// 申请退款的金额，单位元，保留两位小数 必须和申请退款接口的金额保持一致
        /// 是
        /// double(20,2)
        /// </summary>
        public double refundAmt { get; set; }
    }

    #endregion 退款结果查询

    #region 投诉师傅

    /// <summary>
    /// 投诉师傅（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class RequestPushFisComplaint
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 功能标志位  0：发起投诉 1：取消投诉
        /// 是
        /// int
        /// </summary>
        public int functionFlag { set; get; }
        /// <summary>
        /// 投诉类型  见附录2
        /// 是
        /// string
        /// </summary>
        public string complaintType { set; get; }
        /// <summary>
        /// 投诉描述  客户自己填写的描述
        /// 否
        /// string
        /// </summary>
        public string complaintDesc { set; get; }
        /// <summary>
        /// 投诉图片链接，多个用逗号分隔
        /// 否
        /// string
        /// </summary>
        public string evidenceUrls { set; get; }
        /// <summary>
        /// 投诉音频链接，多个用逗号分隔
        /// 音频链接，链接有效期1天，请供应商视情况转存到自己的存储空间
        /// 否
        /// string
        /// </summary>
        public string audioUrls { set; get; }
        /// <summary>
        /// 投诉视频链接，多个用逗号分隔
        /// 视频链接，链接有效期1天，请供应商视情况转存到自己的存储空间
        /// 否
        /// string
        /// </summary>
        public string videoUrls { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        functionFlag	功能标志位	true	int	0：发起投诉 1：取消投诉
        complaintType	投诉类型	true	string	见附录2
        complaintDesc	投诉描述	false	string	客户自己填写的描述
        evidenceUrls	投诉图片链接，多个用逗号分隔	false	string	
        audioUrls	投诉音频链接，多个用逗号分隔	false	string	音频链接，链接有效期1天，请供应商视情况转存到自己的存储空间
        videoUrls	投诉视频链接，多个用逗号分隔	false	string	视频链接，链接有效期1天，请供应商视情况转存到自己的存储空间
        */
    }
    /// <summary>
    /// 投诉师傅（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisComplaint
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null
        }
        */
    }

    #endregion 投诉师傅

    #region 接收投诉结果

    /// <summary>
    /// 接收投诉结果（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestFisComplaintResult
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 处理结果  处理结果1.成立 2.不成立
        /// 是
        /// int
        /// </summary>
        public int handleResult { set; get; }
        /// <summary>
        /// 赔偿金额 单位元
        /// 否
        /// string
        /// </summary>
        public string payAmt { set; get; }
        /// <summary>
        /// 处理凭证url，多个用逗号分隔
        /// 否
        /// string
        /// </summary>
        public string evidenceUrls { set; get; }
        /// <summary>
        /// 处理时间  格式yyyy-MM-dd HH:mm
        /// 否
        /// string
        /// </summary>
        public string handleTime { set; get; }
        /// <summary>
        /// 处理结果说明  长度不超过1024
        /// 否
        /// string
        /// </summary>
        public string handleDesc { set; get; }
        /// <summary>
        /// 是否线上退款  0：否，1：是，默认0
        /// 否
        /// int
        /// </summary>
        public int isOnlineRefund { set; get; } = 0;
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        handleResult	处理结果	true	int	处理结果1.成立 2.不成立
        payAmt	赔偿金额	false	string	单位元
        evidenceUrls	处理凭证url，多个用逗号分隔	false	string	
        handleTime	处理时间	false	string	格式yyyy-MM-dd HH:mm
        handleDesc	处理结果说明	false	string	长度不超过1024
        isOnlineRefund	是否线上退款	false	int	0：否，1：是，默认0
        */
    }
    /// <summary>
    /// 接收投诉结果（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseFisComplaintResult
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null
        }
        */
    }

    #endregion 接收投诉结果

    #region 通知用户补充举证

    /// <summary>
    /// 通知用户补充举证（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestFisComplaintSupplyNotice
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 通知时间  格式：yyyy-MM-dd HH:mm:ss, 客服操作时间，不传默认为当前时间
        /// 否
        /// string
        /// </summary>
        public string noticeTime { set; get; }
        /// <summary>
        /// 补充举证截止时间  格式：yyyy-MM-dd HH:mm:ss,若不传，默认通知时间+12小时
        /// 否
        /// string
        /// </summary>
        public string expireTime { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        noticeTime	通知时间	false	string	格式：yyyy-MM-dd HH:mm:ss, 客服操作时间，不传默认为当前时间
        expireTime	补充举证截止时间	false	string	格式：yyyy-MM-dd HH:mm:ss,若不传，默认通知时间+12小时
        */
    }
    /// <summary>
    /// 通知用户补充举证（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseFisComplaintSupplyNotice
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null
        }
        */
    }

    #endregion 通知用户补充举证

    #region 用户补充举证

    /// <summary>
    /// 用户补充举证（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class RequestPushFisComplaintUserSupply
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 用户补充举证id 用于区分用户多次补充举证，或用于去重
        /// 是
        /// string
        /// </summary>
        public string supplyId { set; get; }
        /// <summary>
        /// 用户补充举证的时间 格式：yyyy-MM-dd HH:mm:ss
        /// 是
        /// string
        /// </summary>
        public string supplyTime { set; get; }
        /// <summary>
        /// 举证内容
        /// 是
        /// string
        /// </summary>
        public string complaintDesc { set; get; }
        /// <summary>
        /// 举证图片链接，多个用逗号分隔
        /// 否
        /// string
        /// </summary>
        public string evidenceUrls { set; get; }
        /// <summary>
        /// 举证音频链接，多个用逗号分隔
        /// 音频链接，链接有效期1天，请供应商视情况转存到自己的存储空间
        /// 否
        /// string
        /// </summary>
        public string audioUrls { set; get; }
        /// <summary>
        /// 举证视频链接，多个用逗号分隔
        /// 视频链接，链接有效期1天，请供应商视情况转存到自己的存储空间
        /// 否
        /// string
        /// </summary>
        public string videoUrls { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        supplyId	用户补充举证id	true	string	用于区分用户多次补充举证，或用于去重
        supplyTime	用户补充举证的时间	true	string	格式：yyyy-MM-dd HH:mm:ss
        complaintDesc	举证内容	true	string	
        evidenceUrls	举证图片链接，多个用逗号分隔	false	string	
        audioUrls	举证音频链接，多个用逗号分隔	false	string	音频链接，链接有效期1天，请供应商视情况转存到自己的存储空间
        videoUrls	举证视频链接，多个用逗号分隔	false	string	视频链接，链接有效期1天，请供应商视情况转存到自己的存储空间
        */
    }
    /// <summary>
    /// 用户补充举证（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisComplaintUserSupply
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null
        }
        */
    }

    #endregion 用户补充举证

    #region 师傅举证回传

    /// <summary>
    /// 师傅举证回传（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestFisComplaintMasterEvidence
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 师傅补充举证id  用于区分师傅多次补充举证，或用于去重
        /// 是
        /// string
        /// </summary>
        public string supplyId { set; get; }
        /// <summary>
        /// 师傅补充举证的时间  格式：yyyy-MM-dd HH:mm:ss
        /// 是
        /// string
        /// </summary>
        public string supplyTime { set; get; }
        /// <summary>
        /// 举证内容 
        /// 否
        /// string
        /// </summary>
        public string complaintDesc { set; get; }
        /// <summary>
        /// 举证图片链接，多个用逗号分隔
        /// 否
        /// string
        /// </summary>
        public string evidenceUrls { set; get; }
        /// <summary>
        /// 举证音频链接，多个用逗号分隔
        /// 否
        /// string
        /// </summary>
        public string audioUrls { set; get; }
        /// <summary>
        /// 举证视频链接，多个用逗号分隔
        /// 否
        /// string
        /// </summary>
        public string videoUrls { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        supplyId	师傅补充举证id	true	string	用于区分师傅多次补充举证，或用于去重
        supplyTime	师傅补充举证的时间	true	string	格式：yyyy-MM-dd HH:mm:ss
        complaintDesc	举证内容	false	string	
        evidenceUrls	举证图片链接，多个用逗号分隔	false	string	
        audioUrls	举证音频链接，多个用逗号分隔	false	string	
        videoUrls	举证视频链接，多个用逗号分隔	false	string	
        */
    }
    /// <summary>
    /// 师傅举证回传（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseFisComplaintMasterEvidence
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*	
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null
        }
        */
    }

    #endregion 师傅举证回传

    #region 更新投诉退款线上账户

    /// <summary>
    /// 更新投诉退款线上账户（快运API-安装服务-供应商自主报价） 业务数据请求报文
    /// </summary>
    public class RequestPushFisComplaintRefundAccountInfo
    {
        /// <summary>
        /// 订单号
        /// 是
        /// string
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 赔付渠道  bank：银行卡，wechat：微信，ali：支付宝
        /// 是
        /// string
        /// </summary>
        public string payChannel { set; get; }
        /// <summary>
        /// 开户行名称
        /// 是
        /// string
        /// </summary>
        public string bankName { set; get; }
        /// <summary>
        /// 开户行编码
        /// 是
        /// string
        /// </summary>
        public string bankCode { set; get; }
        /// <summary>
        /// 银行卡号 长度不得超过20
        /// 是
        /// string
        /// </summary>
        public string bankCard { set; get; }
        /// <summary>
        /// 开户人姓名 长度不得超过20
        /// 是
        /// string
        /// </summary>
        public string accountName { set; get; }
        /*
        接口参数
        参数名称	参数说明	是否必须	数据类型	说明
        orderNo	订单号	true	string	
        payChannel	赔付渠道	true	string	bank：银行卡，wechat：微信，ali：支付宝
        bankName	开户行名称	true	string	
        bankCode	开户行编码	true	string	
        bankCard	银行卡号	true	string	长度不得超过20
        accountName	开户人姓名	true	string	长度不得超过20
        */
    }
    /// <summary>
    /// 更新投诉退款线上账户（快运API-安装服务-供应商自主报价） 业务数据返回报文
    /// </summary>
    public class ResponsePushFisComplaintRefundAccountInfo
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        返回参数

        属性名	参数类型	是否必传	描述
        errorCode	String	N	错误代码
        errorMessage	String	N	错误描述
        success	Boolean	Y	是否成功
        返回示例

        {
        "success":true,
        "errorCode":null,
        "errorMessage":null
        }
        */
    }

    #endregion 更新投诉退款线上账户

    #endregion 安装服务-供应商自主报价

    #region 工单类

    #region 外部客户或供应商上报工单

    /// <summary>
    /// 外部客户或供应商上报工单（快运API-工单类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestQcsWorkOrderReport
    {
        /// <summary>
        /// 顺丰单号
        /// 是
        /// String
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 上报人
        /// 是
        /// String
        /// </summary>
        public string creator { set; get; }
        /// <summary>
        /// 上报人联系方式
        /// 否
        /// String
        /// </summary>
        public string creatorPhone { set; get; }
        /// <summary>
        /// 业务类型（0-顺丰家装业务），目前固定传0
        /// 是
        /// int
        /// </summary>
        public int bussCategory { set; get; }
        /// <summary>
        /// 一级声音
        /// 是
        /// String
        /// </summary>
        public string orderCategoryOne { set; get; }
        /// <summary>
        /// 二级声音
        /// 是
        /// String
        /// </summary>
        public string orderCategoryTwo { set; get; }
        /// <summary>
        /// 三级声音
        /// 否
        /// String
        /// </summary>
        public string orderCategoryThree { set; get; }
        /// <summary>
        /// 紧急程度（1-普通，2-紧急）
        /// 是
        /// int
        /// </summary>
        public int urgencyDegree { set; get; }
        /// <summary>
        /// 工单上报内容
        /// 是
        /// int
        /// </summary>
        public string reportContent { set; get; }
        /// <summary>
        /// 图片url，逗号分隔，最多6张，单张图片不超过10M
        /// 否
        /// String
        /// </summary>
        public string pics { set; get; }
        /// <summary>
        /// 工单处理时效要求，单位：分钟
        /// 否
        /// int
        /// </summary>
        public int afterHandleReplyTime { set; get; }
        /// <summary>
        /// 第三方工单唯一编码(用于后续部分接口交互)
        /// 是
        /// String
        /// </summary>
        public string reportSourceNo { set; get; }
        /*	
        1.3 请求参数<msgData>
        1.3.1 元素<请求> msgData
        序号	属性名	类型(约束)	必填	描述
        1	orderNo	String	是	顺丰单号
        2	creator	String	是	上报人
        3	creatorPhone	String	否	上报人联系方式
        4	bussCategory	int	是	业务类型（0-顺丰家装业务），目前固定传0
        5	orderCategoryOne	String	是	一级声音
        6	orderCategoryTwo	String	是	二级声音
        7	orderCategoryThree	String	否	三级声音
        8	urgencyDegree	int	是	紧急程度（1-普通，2-紧急）
        9	reportContent	String	是	工单上报内容
        10	pics	String	否	图片url，逗号分隔，最多6张，单张图片不超过10M
        11	afterHandleReplyTime	int	否	工单处理时效要求，单位：分钟
        12	reportSourceNo	String	是	第三方工单唯一编码(用于后续部分接口交互)
        1.3.2 请求示例
        请求报文:（msgData字段）:

        {
          "orderNo": "SF123132546456",
          "creator": "小李",
          "creatorPhone": "13322222222",
          "bussCategory": 0,
          "orderCategoryOne": "预约异常",
          "orderCategoryTwo": "客户电话错误",
          "orderCategoryThree": "",
          "urgencyDegree": 1,
          "reportContent": "客户电话无法联系上，请协助解决",
          "pics": "https://www.baidu.com,https://www.sf-express.com",
          "afterHandleReplyTime": "120",
          "reportSourceNo": "BDSFNRJKGTBWQE123628746785"
        }
        */
    }
    /// <summary>
    /// 外部客户或供应商上报工单（快运API-工单类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseQcsWorkOrderReport
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /// <summary>
        /// 返回的详细数据
        /// 否
        /// Object
        /// </summary>
        public QcsWorkOrderReportObj obj { get; set; }
        /*
        1.4 公共响应参数
        #	属性名	类型(约束)	必填	描述
        1	apiResultCode	String(10)	是	API平台结果代码
        2	apiErrorMsg	String(200)	否	API平台异常信息
        3	apiResponseID	String(40)	是	API响应唯一号UUID
        4	apiResultData	String	是	业务处理详细结果
        1.4.1 元素<响应> apiResultData
        #	属性名	类型(约束)	必填	描述
        1	success	String	是	true 请求成功，false 请求失败
        2	errorCode	String	否	错误编码，success = false时返回
        3	errorMessage	String	否	错误描述 , success = false时返回
        4	obj	Object	是	返回的详细数据
        1.4.2 元素<响应> obj
        #	属性名	类型(约束)	必填	描述
        1	workOrderId	String	是	顺丰工单id
        1.4.3 返回示例\应用场景(JSON)示例
        响应报文:

        成功响应:
        {
            "apiErrorMsg": "",
            "apiResponseID": "0001727E2494543FEA449BF48D24123F",
            "apiResultCode": "A1000",
            "apiResultData": {
                "success": true,
                "errorCode": null,
                "errorMsg": null,
                "obj": {
                    "workOrderId": "489461"
                }
            }
        }
        失败响应：
        {
            "apiErrorMsg": "",
            "apiResponseID": "0001727E2494543FEA449BF48D24123F",
            "apiResultCode": "A1000",
            "apiResultData": {
                "success": false,
                "errorCode": "10003",
                "errorMsg": "未查询到运单号信息"
            }
        }
        */
    }
    public class QcsWorkOrderReportObj
    {
        /// <summary>
        /// 顺丰工单id
        /// 是
        /// String
        /// </summary>
        public string workOrderId { set; get; }
    }

    #endregion 外部客户或供应商上报工单

    #region 外部客户或供应商回复工单

    /// <summary>
    /// 外部客户或供应商回复工单（快运API-工单类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestQcsWorkOrderReply
    {
        /// <summary>
        /// 顺丰工单id，workOrderId和reportSourceNo至少传一个
        /// 是条件
        /// String
        /// </summary>
        public string workOrderId { set; get; }
        /// <summary>
        /// 第三方工单唯一编码，取【外部客户/供应商上报工单】接口reportSourceNo字段，workOrderId和reportSourceNo至少传一个
        /// 条件
        /// String
        /// </summary>
        public string reportSourceNo { set; get; }
        /// <summary>
        /// 回复唯一ID,用于去重校验
        /// 是
        /// String
        /// </summary>
        public string replyId { set; get; }
        /// <summary>
        /// 回复内容
        /// 是
        /// String
        /// </summary>
        public string replyContent { set; get; }
        /// <summary>
        /// 回复人名称
        /// 是
        /// String
        /// </summary>
        public string replyName { set; get; }
        /// <summary>
        /// 回复人联系方式
        /// 否
        /// String
        /// </summary>
        public string replyPhone { set; get; }
        /// <summary>
        /// 图片url，逗号分隔，最多6张，单张图片不超过10M
        /// 否
        /// String
        /// </summary>
        public string pics { set; get; }
        /// <summary>
        /// 是否完结工单 0否 1是，传1时，代表本条工单完结。
        /// 是
        /// String
        /// </summary>
        public int isDone { set; get; }
        /// <summary>
        /// 是否解决 0否 1是
        /// 否
        /// String
        /// </summary>
        public int isSolve { set; get; }
        /*	
        1.2.3. 请求参数<msgData>
        1.2.4 元素<请求> msgData
        序号	属性名	类型(约束)	必填	描述
        1	workOrderId	String	条件	顺丰工单id，workOrderId和reportSourceNo至少传一个
        2	reportSourceNo	String	条件	第三方工单唯一编码，取【外部客户/供应商上报工单】接口reportSourceNo字段，workOrderId和reportSourceNo至少传一个
        3	replyId	String	是	回复唯一ID,用于去重校验
        4	replyContent	String	是	回复内容
        5	replyName	String	是	回复人名称
        6	replyPhone	String	否	回复人联系方式
        7	pics	String	否	图片url，逗号分隔，最多6张，单张图片不超过10M
        8	isDone	int	是	是否完结工单 0否 1是，传1时，代表本条工单完结。
        9	isSolve	int	否	是否解决 0否 1是
        1.2.4 请求示例
        请求报文:（msgData字段）:

        {
            "replyName": "小李",
            "replyPhone": "13355552222",
            "replyId":"sdnejjriewotji5oyjtioy",
            "workOrderId": "185944",
            "reportSourceNo": "BUEGYU123353456",
            "replyContent": "这是一条回复内容",
            "pics": "https://www.baidu.com,https://www.sf-express.com",
            "isDone": 0
        }
        */
    }
    /// <summary>
    /// 外部客户或供应商回复工单（快运API-工单类） 业务数据返回报文
    /// </summary>
    public class MsgDataResponseQcsWorkOrderReply
    {
        /// <summary>
        /// 是否成功，成功true，失败false
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误代码
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述
        /// 否
        /// String
        /// </summary>
        public string errorMessage { get; set; }
        /*
        1.3. 公共响应参数
        #	属性名	类型(约束)	必填	描述
        1	apiResultCode	String(10)	是	API平台结果代码
        2	apiErrorMsg	String(200)	否	API平台异常信息
        3	apiResponseID	String(40)	是	API响应唯一号UUID
        4	apiResultData	String	是	业务处理详细结果
        2.3.1 元素<响应> apiResultData
        #	属性名	类型(约束)	必填	描述
        1	success	boolean	是	true 请求成功，false 请求失败
        2	errorCode	String	否	错误编码，success = false时返回
        3	errorMessage	String	否	错误描述 , success = false时返回
        1.3.2 返回示例\应用场景(JSON)示例
        响应报文:

        成功响应:
        {
            "apiErrorMsg": "",
            "apiResponseID": "0001727E2494543FEA449BF48D24123F",
            "apiResultCode": "A1000",
            "apiResultData": {
                "success": true,
                "errorCode": null,
                "errorMsg": null
            }
        }
        失败响应：
        {
            "apiErrorMsg": "",
            "apiResponseID": "0001727E2494543FEA449BF48D24123F",
            "apiResultCode": "A1000",
            "apiResultData": {
                "success": false,
                "errorCode": "10003",
                "errorMsg": "未查询到运单号信息"
            }
        }
        */
    }
    public class QcsWorkOrderReplytObj
    {
        /// <summary>
        /// 顺丰工单id
        /// 是
        /// String
        /// </summary>
        public string workOrderId { set; get; }
    }

    #endregion 外部客户或供应商回复工单

    #region 顺丰工单同步外部客户或供应商

    /// <summary>
    /// 顺丰工单同步外部客户或供应商（快运API-工单类） 业务数据请求报文
    /// </summary>
    public class PushQcsWorkOrderReportRequest
    {
        /// <summary>
        /// 请求唯一号UUID
        /// 是
        /// String(40)
        /// </summary>
        public string requestID { set; get; }
        /// <summary>
        /// 接口服务代码 此处为面单推送接口服务码
        /// 是
        /// String(50)
        /// </summary>
        public string serviceCode { set; get; }
        /// <summary>
        /// 调用接口时间戳
        /// 是
        /// long
        /// </summary>
        public long timestamp { set; get; }
        /// <summary>
        /// 数字签名 同CP请求SF的加密方式相同
        /// 是
        /// String(128)
        /// </summary>
        public string msgDigest { set; get; }
        /// <summary>
        /// 访问令牌，使用OAuth2方式认证时必填，不可与msgDigest同时传参 获取方法参考：OAuth2认证说明
        /// 是
        /// String(128)
        /// </summary>
        public string accessToken { set; get; }
        /// <summary>
        /// 业务数据报文
        /// 是
        /// String
        /// </summary>

        public string msgData { set; get; }
    }
    /// <summary>
    /// 顺丰工单同步外部客户或供应商（快运API-工单类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestPushQcsWorkOrderReport
    {
        /// <summary>
        /// 顺丰单号
        /// 是
        /// String
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 顺丰工单id
        /// 是
        /// String
        /// </summary>
        public string workOrderId { set; get; }
        /// <summary>
        /// 上报人
        /// 是
        /// String
        /// </summary>
        public string creator { set; get; }
        /// <summary>
        /// 上报人联系方式
        /// 否
        /// String
        /// </summary>
        public string creatorPhone { set; get; }
        /// <summary>
        /// 业务类型（0-顺丰家装业务），目前固定传0
        /// 是
        /// int
        /// </summary>
        public int bussCategory { set; get; }
        /// <summary>
        /// 一级声音
        /// 是
        /// String
        /// </summary>
        public string orderCategoryOne { set; get; }
        /// <summary>
        /// 二级声音
        /// 是
        /// String
        /// </summary>
        public string orderCategoryTwo { set; get; }
        /// <summary>
        /// 三级声音
        /// 否
        /// String
        /// </summary>
        public string orderCategoryThree { set; get; }
        /// <summary>
        /// 紧急程度（1-普通，2-紧急）
        /// 是
        /// int
        /// </summary>
        public int urgencyDegree { set; get; }
        /// <summary>
        /// 工单上报内容
        /// 是
        /// String
        /// </summary>
        public string reportContent { set; get; }
        /// <summary>
        /// 图片url，逗号分隔，最多6张
        /// 否
        /// String
        /// </summary>
        public string pics { set; get; }
        /// <summary>
        /// 工单处理时效要求，单位：分钟
        /// 否
        /// int
        /// </summary>
        public int afterHandleReplyTime { set; get; }

        /*	
        1.2.3. 请求参数<msgData>
        1.2.4 元素<请求> msgData
        序号	属性名	类型(约束)	必填	描述
        1	orderNo	String	是	顺丰单号
        2	workOrderId	String	是	顺丰工单id
        2	creator	String	是	上报人
        3	creatorPhone	String	否	上报人联系方式
        4	bussCategory	int	是	业务类型（0-顺丰家装业务），目前固定传0
        5	orderCategoryOne	String	是	一级声音
        6	orderCategoryTwo	String	是	二级声音
        7	orderCategoryThree	String	否	三级声音
        8	urgencyDegree	int	是	紧急程度（1-普通，2-紧急）
        9	reportContent	String	是	工单上报内容
        10	pics	String	否	图片url，逗号分隔，最多6张
        11	afterHandleReplyTime	int	否	工单处理时效要求，单位：分钟
        1.2.5 请求示例
        请求报文:（msgData字段）:

        {
            "orderNo": "SF123132546456",
            "workOrderId":"157896",
            "creator": "顺丰客服",
            "creatorPhone": "13322222222",
            "bussCategory": 0,
            "orderCategoryOne": "预约异常",
            "orderCategoryTwo": "客户电话错误",
            "orderCategoryThree": "",
            "urgencyDegree": 1,
            "reportContent": "客户电话无法联系上，请协助解决",
            "pics": "https://www.baidu.com,https://www.sf-express.com",
            "afterHandleReplyTime": "120"
        }
        */
    }
    /// <summary>
    /// 顺丰工单同步外部客户或供应商（快运API-工单类） 业务数据返回报文
    /// </summary>
    public class ResponsePushQcsWorkOrderReport
    {
        /// <summary>
        /// true 请求成功，false 请求失败 ,false时顺丰侧会进行重试
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误编码，success = false时返回
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述 , success = false时返回
        /// 否
        /// String
        /// </summary>
        public string errorMsg { get; set; }
        /*
        1.3 响应参数，客户系统按此结构返回响应参数
        #	属性名	类型(约束)	必填	描述
        1	success	boolean	是	true 请求成功，false 请求失败 ,false时顺丰侧会进行重试
        2	errorCode	String	否	错误编码，success = false时返回
        3	errorMessage	String	否	错误描述 , success = false时返回
        1.3.1 返回示例\应用场景(JSON)示例
        响应报文:

        成功响应:
        {
                "success": true,
                "errorCode": null,
                "errorMsg": null  
   
        }
        失败响应
        {
                "success": false,
                "errorCode": "客户定义",
                "errorMsg": "客户定义"  
        } 
        */
    }

    #endregion 顺丰工单同步外部客户或供应商

    #region 顺丰客服回复工单同步外部客户或供应商

    /// <summary>
    /// 顺丰客服回复工单同步外部客户或供应商（快运API-工单类） 业务数据请求报文
    /// </summary>
    public class PushQcsWorkOrderReplyRequest
    {
        /// <summary>
        /// 请求唯一号UUID
        /// 是
        /// String(40)
        /// </summary>
        public string requestID { set; get; }
        /// <summary>
        /// 接口服务代码 此处为面单推送接口服务码
        /// 是
        /// String(50)
        /// </summary>
        public string serviceCode { set; get; }
        /// <summary>
        /// 调用接口时间戳
        /// 是
        /// long
        /// </summary>
        public long timestamp { set; get; }
        /// <summary>
        /// 数字签名 同CP请求SF的加密方式相同
        /// 是
        /// String(128)
        /// </summary>
        public string msgDigest { set; get; }
        /// <summary>
        /// 访问令牌，使用OAuth2方式认证时必填，不可与msgDigest同时传参 获取方法参考：OAuth2认证说明
        /// 是
        /// String(128)
        /// </summary>
        public string accessToken { set; get; }
        /// <summary>
        /// 业务数据报文
        /// 是
        /// String
        /// </summary>

        public string msgData { set; get; }
    }
    /// <summary>
    /// 顺丰客服回复工单同步外部客户或供应商（快运API-工单类） 业务数据请求报文
    /// </summary>
    public class MsgDataRequestPushQcsWorkOrderReply
    {
        /// <summary>
        /// 顺丰工单id
        /// 是
        /// String
        /// </summary>
        public string workOrderId { set; get; }
        /// <summary>
        /// 第三方工单唯一编码，如果是外部客户/供应商发起的工单，此字段有值
        /// 否
        /// String
        /// </summary>
        public string reportSourceNo { set; get; }
        /// <summary>
        /// 回复唯一ID,用于去重校验
        /// 是
        /// String
        /// </summary>
        public string replyId { set; get; }
        /// <summary>
        /// 回复内容
        /// 是
        /// String
        /// </summary>
        public string replyContent { set; get; }
        /// <summary>
        /// 回复人名称
        /// 是
        /// String
        /// </summary>
        public string replyName { set; get; }
        /// <summary>
        /// 回复人联系方式
        /// 否
        /// String
        /// </summary>
        public string replyPhone { set; get; }
        /// <summary>
        /// 图片url，逗号分隔，最多6张，单张图片不超过10M
        /// 否
        /// String
        /// </summary>
        public string pics { set; get; }
        /// <summary>
        /// 是否完结工单 0否 1是，传1时，代表本条工单完结。
        /// 是
        /// String
        /// </summary>
        public int isDone { set; get; }
        /// <summary>
        /// 是否解决 0否 1是
        /// 否
        /// String
        /// </summary>
        public int isSolve { set; get; }

        /*	
        1.2.3. 请求参数<msgData>
        1.2.4 元素<请求> msgData
        序号	属性名	类型(约束)	必填	描述
        1	workOrderId	String	是	顺丰工单id
        2	reportSourceNo	String	否	第三方工单唯一编码，如果是外部客户/供应商发起的工单，此字段有值
        3	replyId	String	是	回复唯一ID,用于去重校验
        4	replyContent	String	是	回复内容
        5	replyName	String	是	回复人名称
        6	replyPhone	String	否	回复人联系方式
        7	pics	String	否	图片url，逗号分隔，最多6张
        8	isDone	int	是	是否完结工单 0否 1是，传1时，代表本条工单完结。
        9	isSolve	int	否	是否解决 0否 1是
        1.2.5 请求示例
        请求报文:（msgData字段）:

        {
            "replyName": "顺丰客服",
            "replyPhone": "13355552222",
            "replyId":"sdnejjriewotji5oyjtioy",
            "workOrderId": "185944",
            "reportSourceNo": "BUEGYU123353456",
            "replyContent": "顺丰客服的回复内容",
            "pics": "https://www.baidu.com,https://www.sf-express.com",
            "isDone": 0
        }
        */
    }
    /// <summary>
    /// 顺丰客服回复工单同步外部客户或供应商（快运API-工单类） 业务数据返回报文
    /// </summary>
    public class ResponsePushQcsWorkOrderReply
    {
        /// <summary>
        /// true 请求成功，false 请求失败 ,false时顺丰侧会进行重试
        /// 是
        /// Boolean
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 错误编码，success = false时返回
        /// 否
        /// String
        /// </summary>
        public string errorCode { get; set; }
        /// <summary>
        /// 错误描述 , success = false时返回
        /// 否
        /// String
        /// </summary>
        public string errorMsg { get; set; }
        /*
        1.3 响应参数，客户系统按此结构返回响应参数
        #	属性名	类型(约束)	必填	描述
        1	success	boolean	是	true 请求成功，false 请求失败 ,false时顺丰侧会进行重试
        2	errorCode	String	否	错误编码，success = false时返回
        3	errorMessage	String	否	错误描述 , success = false时返回
        1.3.1 返回示例\应用场景(JSON)示例
        响应报文:

        成功响应:
        {
                "success": true,
                "errorCode": null,
                "errorMsg": null  
   
        }
        失败响应
        {
                "success": false,
                "errorCode": "客户定义",
                "errorMsg": "客户定义"  
        }
        */
    }

    #endregion 顺丰客服回复工单同步外部客户或供应商

    #endregion 工单类

    public class CargoBase
    {
        /// <summary>
        /// 货物名称
        /// 否
        /// String(100)
        /// </summary>
        public string name { set; get; }
        /// <summary>
        /// 数量
        /// 否
        /// Int
        /// </summary>
        public int count { set; get; }
        /// <summary>
        /// 重量 单位:kg
        /// 否
        /// Number(10, 3))
        /// </summary>
        public double weight { set; get; }
        /// <summary>
        /// 长 单位默认为厘米
        /// 否
        /// Number(10, 3))
        /// </summary>
        public double length { set; get; }
        /// <summary>
        /// 高 单位默认为厘米
        /// 否
        /// Number(10, 3))
        /// </summary>
        public double height { set; get; }
        /// <summary>
        /// 宽 单位默认为厘米
        /// 否
        /// Number(10, 3))
        /// </summary>
        public double width { set; get; }
        /// <summary>
        /// 体积 单位默认为立方厘米
        /// 否
        /// Number(10, 3))
        /// </summary>
        public double volume { set; get; }
    }
    public class CargoInfo : CargoBase
    {
        /// <summary>
        /// 单位， 如个、台、件
        /// 否
        /// String(10)
        /// </summary>
        public string unit { set; get; }
        /// <summary>
        /// 货物的分类
        /// 否
        /// String(100)
        /// </summary>
        public string category { set; get; }
        /// <summary>
        /// 规格
        /// 否
        /// String(100)
        /// </summary>
        public string spec { set; get; }
        /// <summary>
        /// 商品编码
        /// 否
        /// String(60)
        /// </summary>
        public string goodsCode { set; get; }
        /// <summary>
        /// 国条码
        /// 否
        /// String(50)
        /// </summary>
        public string stateBarCode { set; get; }
        /// <summary>
        /// 箱号
        /// 否
        /// String(200)
        /// </summary>
        public string boxNo { set; get; }
        /// <summary>
        /// 验货服务SN码 
        /// 否
        /// String(200)
        /// </summary>
        public string snCode { set; get; }
    }
    public class CargoModel
    {
        /// <summary>
        /// 货物名称
        /// 否
        /// String(100)
        /// </summary>
        public string name { set; get; }
        /// <summary>
        /// 单位， 如个、台、件
        /// 否
        /// String(10)
        /// </summary>
        public string unit { set; get; }
        /// <summary>
        /// 货物的分类
        /// 否
        /// String(100)
        /// </summary>
        public string category { set; get; }
        /// <summary>
        /// 数量(此字段可能自带单位)
        /// 否
        /// String(100)
        /// </summary>
        public string amount { set; get; }
        /// <summary>
        /// 长 单位默认为厘米
        /// 否
        /// Number(10, 3))
        /// </summary>
        public double length { set; get; }
        /// <summary>
        /// 高 单位默认为厘米
        /// 否
        /// Number(10, 3))
        /// </summary>
        public double height { set; get; }
        /// <summary>
        /// 宽 单位默认为厘米
        /// 否
        /// Number(10, 3))
        /// </summary>
        public double width { set; get; }
        /// <summary>
        /// 体积 单位默认为立方厘米
        /// 否
        /// Number(10, 3))
        /// </summary>
        public double volume { set; get; }
        /// <summary>
        /// 重量 单位:kg
        /// 否
        /// Number(10, 3))
        /// </summary>
        public double weight { set; get; }
        /// <summary>
        /// 箱号
        /// 否
        /// String(200)
        /// </summary>
        public string boxNo { set; get; }
    }
    public class PackageInfo
    {
        /// <summary>
        /// 运单号或子单号
        /// 否
        /// String（15）
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 箱号
        /// 否
        /// String（200）
        /// </summary>
        public string boxNo { set; get; }
        /// <summary>
        /// 包裹长，单位为厘米
        /// 否
        /// Number(10, 3)
        /// </summary>
        public double length { set; get; }
        /// <summary>
        /// 包裹高，单位为厘米
        /// 否
        /// Number(10, 3)
        /// </summary>
        public double height { set; get; }
        /// <summary>
        /// 包裹宽，单位为厘米
        /// 否
        /// Number(10, 3)
        /// </summary>
        public double width { set; get; }
        /// <summary>
        /// 包裹重量
        /// 否
        /// Number(10, 3)
        /// </summary>
        public double weight { set; get; }
        /// <summary>
        /// 包裹重量单位，默认为KG
        /// 否
        /// String(5)
        /// </summary>
        public string unitWeight { set; get; } = "KG";
        /// <summary>
        /// 包裹体积
        /// 否
        /// Number(10, 3)
        /// </summary>
        public double volume { set; get; }
        /// <summary>
        /// 体积单位, 默认立方厘米 
        /// 否
        /// String(5)
        /// </summary>
        public string unitVolume { set; get; } = "立方厘米";
    }
    public class AdditionService
    {
        /// <summary>
        /// 增值服务Code ，如：COD。参考增值服务传值说明。
        /// 是
        /// String(20)
        /// </summary>
        public string name { set; get; }
        /// <summary>
        /// 增值服务扩展属性，参考增值服务传值说明。
        /// 否
        /// String(30)
        /// </summary>
        public string value { set; get; }
        /// <summary>
        /// 增值服务扩展属性 1
        /// 否
        /// String(30)
        /// </summary>
        public string value1 { set; get; }
        /// <summary>
        /// 增值服务扩展属性 2
        /// 否
        /// String(30)
        /// </summary>
        public string value2 { set; get; }
        /// <summary>
        /// 增值服务扩展属性 3
        /// 否
        /// String(30)
        /// </summary>
        public string value3 { set; get; }
        /// <summary>
        /// 增值服务扩展属性 4
        /// 否
        /// String(30)
        /// </summary>
        public string value4 { set; get; }
        /*
        不同增值服务传值说明：

        名称	代码	说明
        代收货款	COD	value为货款，以原寄地所在区域币种为准，如中国大陆为人民币，香港为港币，保留3位小数。 value1为代收货款卡号
        保价	INSURE	value为声明价值以原寄地所在区域币种为准，如中国大陆为人民币，香港为港币，保留3位小数。
        包装服务	PKFEE	Value5必填，格式为json字符串，例：{“materielDetailList”:[{“wlCode”:“BZFA00000020”,“num”:“2”,“createTime”:“2021-03-07 18: 11: 39”}]} 其中wlCode为物料编码，num为数量
        秘钥认证	IN59	value传1
        保鲜服务	IN41	value无需传值
        电子签回单	IN91	value传13
        到付折扣	IN109	value3放到付折扣月结卡号。注：payMethod需为2到付，且不传customId月结卡号字段
        宅配延伸服务	IN116	value传 品类编码及数量的JSON, 如： [{“subItemCode”:“2105100001”,“num”:“1”},{“subItemCode”:“2104210001”,“num”:“1”}] value1传服务的月结卡号
        安装服务	HIN	value5必填，格式为json字符串，例： {“serviceItemInfos”:[{“count”:2,“standServiceCode”:“SF-201904011552258521”,“standServiceName”:"",“cusServiceCode”:“SF-1225145”,“cusServiceName”:""}],“serviceType”:1} 具体字段说明见下方
        验货服务	EXA	此服务接入需跟业务或产品经理申请相关权限。 接入验货服务，需必传cargoList参数，其中Cargo.snCode为需进行智能验货的产品标识码。 value: 2智能验货 

        安装服务json传参说明。
        格式：json字符串
        示例：{“serviceItemInfos”:[{“count”:2,“standServiceCode”:“SF-201904011552258521”,“standServiceName”:"",“cusServiceCode”:“SF-1225145”,“cusServiceName”:""}],“serviceType”:1}
        serviceItemInfos: 安装货物信息列表
        -count：安装货物数量
        -standServiceCode：安装编码
        -standServiceName：标准安装品类名称
        -cusServiceCode：商户品类代码
        -cusServiceName：商户品类名称
        serviceType：服务类型（1送装分离。2送装一体）
        沙箱测试数据：月结卡号 7550009700 品类编码 SF-201904011544456747
        */
    }
    public class ThirdSignBackInfo
    {
        /// <summary>
        /// 第三方签回单收件省
        /// 是
        /// String(64)
        /// </summary>
        public string signBackProvince { set; get; }
        /// <summary>
        /// 第三方签回单收件市
        /// 是
        /// String(128)
        /// </summary>
        public string signBackCity { set; get; }
        /// <summary>
        /// 第三方签回单收件区
        /// 是
        /// String(128)
        /// </summary>
        public string signBackCounty { set; get; }
        /// <summary>
        /// 第三方签回单详细地址
        /// 是
        /// String(256)
        /// </summary>
        public string signBackAddress { set; get; }
        /// <summary>
        /// 第三方签回单联系人名
        /// 是
        /// String(64)
        /// </summary>
        public string signBackContact { set; get; }
        /// <summary>
        /// 第三方签回单手机号
        /// 是
        /// String(64)
        /// </summary>
        public string signBackMobile { set; get; }
        /// <summary>
        /// 第三方签回单联系电话
        /// 否
        /// String(64)
        /// </summary>
        public string signBackTel { set; get; }
        /// <summary>
        /// 第三方签回单公司名
        /// 否
        /// String(64)
        /// </summary>
        public string signBackCompany { set; get; }
    }
    public class PushImageInfo
    {
        /// <summary>
        /// 图片类型
        /// 是
        /// String(32)
        /// </summary>
        public string imageType { set; get; }
        /// <summary>
        /// 图片数量
        /// 是
        /// Integer
        /// </summary>
        public int amount { set; get; }
        /// <summary>
        /// 图片访问信息列表
        /// 是
        /// Array(PushImageOssInfo)
        /// </summary>
        public List<PushImageOssInfo> amoimageUrlInfoListunt { set; get; }
    }
    public class PushImageOssInfo
    {
        /// <summary>
        /// 文件名
        /// 是
        /// String(64)
        /// </summary>
        public string fileName { set; get; }
        /// <summary>
        /// 图片访问路径
        /// 是
        /// String(128)
        /// </summary>
        public string url { set; get; }
        /// <summary>
        /// 图片访问
        /// 是
        /// String(256)
        /// </summary>
        public string token { set; get; }
        /// <summary>
        /// 访问路径过期时间戳
        /// 是
        /// String
        /// </summary>
        public string urlExpires { set; get; }
    }
    public class FeeInfo
    {
        /// <summary>
        /// 业务所属地区编码
        /// String(100)	
        /// </summary>
        public string bizOwnerZoneCode { set; get; }
        /// <summary>
        /// 币别
        /// String(100)	
        /// </summary>
        public string currencyCode { set; get; }
        /// <summary>
        /// 付款帐号
        /// String(100)	
        /// </summary>
        public string customerAcctCode { set; get; }
        /// <summary>
        /// 金额
        /// String(100)	
        /// </summary>
        public string feeAmt { set; get; }
        /// <summary>
        /// 个性化费用
        /// String(100)	
        /// </summary>
        public string feeAmtInd { set; get; }
        /// <summary>
        /// 收付款网点
        /// String(100)	
        /// </summary>
        public string gatherZoneCode { set; get; }
        /// <summary>
        /// 交款人
        /// String(100)	
        /// </summary>
        public string gatherEmpCode { set; get; }
        /// <summary>
        /// 付款变更类型
        /// String(100)	
        /// </summary>
        public string paymentChangeTypeCode { set; get; }
        /// <summary>
        /// 结算方式 1 现结；2月结
        /// String(100)	
        /// </summary>
        public string settlementTypeCode { set; get; }
        /// <summary>
        /// 费用类型，1-基础运费。3-保价费。其他-其他费用。 
        /// String(100)	
        /// </summary>
        public string feeTypeCode { set; get; }
    }
    public class LtlCreateOrderObj
    {
        /// <summary>
        /// 客户订单号
        /// 是
        /// String(64)
        /// </summary>
        public string orderId { set; get; }
        /// <summary>
        /// 顺丰运单号(母单号)。一个订单只能生成一个母单号。
        /// 是
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 子单号，如果有多个子单号会以半角逗号分隔。如“755123456789,001123456789”
        /// 否
        /// String(400)	
        /// </summary>
        public string subWaybillNos { set; get; }
        /// <summary>
        /// 签回单号
        /// 否
        /// String(30)	
        /// </summary>
        public string returnTrackingNo { set; get; }
        /// <summary>
        /// 目的地区域代码
        /// 否
        /// String(10)	
        /// </summary>
        public string destCode { set; get; }
        /// <summary>
        /// 筛单结果： 1：人工确认,客服会在1小时内给下单手机致电反馈是否可达； 2：可收派 3：不可以收派
        /// 否
        /// Number(1)
        /// </summary>
        public int filterResult { set; get; }
        /// <summary>
        /// 不可以收派的原因代码: 1：收方超范围 2：派方超范围 3：其它原因
        /// 否
        /// String(100)	
        /// </summary>
        public string filterRemark { set; get; }
        /// <summary>
        /// 地址映射码
        /// 否
        /// String(30)	
        /// </summary>
        public string mappingMark { set; get; }
        /// <summary>
        /// 第三方支付运费的URL
        /// 否
        /// String(200)	
        /// </summary>
        public string paymentLink { set; get; }
        /// <summary>
        /// 路由标签信息，用于打印电子面单。参见RlsInfo
        /// 否
        /// RlsInfo
        /// </summary>
        public RlsInfo rlsInfo { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public RlsInfo signBackRlsInfo { set; get; }
        /*	
        响应参数

        属性名	参数类型	Required/Optional	描述
        orderId		R	
        waybillNo	String(32)	R	
        subWaybillNos	O	
        returnTrackingNo	String(30)	O	
        destCode	String(10)	O	
        filterResult	Number(1)	O	
        filterRemark	String(100)	O	
        mappingMark	String(30)	O	
        paymentLink	String(200)	O	
        rlsInfo	RlsInfo	O	
        响应示例

        {
            "obj": {
                "destCode": "755A",
                "filterResult": "2",
                "orderId": "1638431361",
                "remark": "IN100:加价管控，IN100深圳——深圳",
                "returnTrackingNo": "SF1200020923891",
                "rlsInfo": {
                    "rlsDetail": {
                        "abFlag": "",
                        "cargoTypeCode": "SP647",
                        "codingMapping": "D16",
                        "codingMappingOut": "A01",
                        "destCityCode": "755",
                        "destDeptCode": "755A",
                        "destDeptCodeMapping": "755W",
                        "destRouteLabel": "755W_CITY_DD-A-018",
                        "destTeamCode": "018",
                        "destTeamCodeMapping": "",
                        "destTransferCode": "755W_CITY_DD",
                        "destinationStationCode": "",
                        "errMsg": "",
                        "expressTypeCode": "B2",
                        "fopIcon": "00",
                        "goodsNumber": "",
                        "limitTypeCode": "T28",
                        "newIcon": "00000100",
                        "printFlag": "000000000",
                        "printIcon": "00110000",
                        "proCode": "T4",
                        "proName": "",
                        "routeArray": "'755AWQ':'A01','':'','':'','755W_CITY_DD':'D16'",
                        "sendAreaCode": "",
                        "sourceCityCode": "755",
                        "sourceDeptCode": "755Q",
                        "sourceTeamCode": "005",
                        "sourceTransferCode": "755AWQ",
                        "sxCompany": "",
                        "twoDimensionCode": "MMM={'k1':'755W_CITY_DD','k2':'755A','k3':'018','k4':'T4','k5':'SF1030368080027','k6':'','k7':'cadc763c'}",
                        "waybillNo": "SF1030368080027",
                        "xbFlag": "0"
                    }
                },
                "signBackRlsInfo": {
                    "rlsDetail": {
                        "abFlag": "",
                        "cargoTypeCode": "C201",
                        "codingMapping": "",
                        "codingMappingOut": "A01",
                        "destCityCode": "755",
                        "destDeptCode": "755",
                        "destDeptCodeMapping": "",
                        "destRouteLabel": "755W_CITY_DD-755",
                        "destTeamCode": "",
                        "destTeamCodeMapping": "",
                        "destTransferCode": "755W_CITY_DD",
                        "destinationStationCode": "",
                        "errMsg": "",
                        "expressTypeCode": "B1",
                        "goodsNumber": "",
                        "limitTypeCode": "T4",
                        "newIcon": "00000000",
                        "printFlag": "000000000",
                        "printIcon": "00000000",
                        "proCode": "T4",
                        "proName": "顺丰特快",
                        "routeArray": "'755W_CITY_DD':'A01','':'','':'','755W_CITY_DD':''",
                        "sendAreaCode": "",
                        "sourceCityCode": "755",
                        "sourceDeptCode": "755U",
                        "sourceTeamCode": "027",
                        "sourceTransferCode": "755W_CITY_DD",
                        "sxCompany": "",
                        "twoDimensionCode": "MMM={'k1':'755W_CITY_DD','k2':'755','k3':'','k4':'T4','k5':'SF1200020923891','k6':'','k7':'bdf95b16'}",
                        "waybillNo": "SF1200020923891",
                        "xbFlag": "0"
                    }
                },
                "subWaybillNos": "SF2060036457654,SF2010285271160,SF2010285270703",
                "waybillNo": "SF1030368080027"
            },
            "success": true
        }
        */
    }
    public class RlsInfo
    {
        /// <summary>
        /// 返回调用结果，ERR：调用失败；OK调用成功
        /// String(30)
        /// </summary>
        public string invokeResult { set; get; }
        /// <summary>
        /// 调用Rls的错误代码 0000（接口参数异常） 0010（其它异常） 0001（xml解析异常 0002（字段校验异常） 0003（票数节点超出最大值，批量请求最大票数为100票） 0004（RLS获取路由标签的必要字段为空 1000 成功
        /// String(30)
        /// </summary>
        public string rlsCode { set; get; }
        /// <summary>
        /// 错误信息
        /// String(1000)
        /// </summary>
        public string errorDesc { set; get; }
        /// <summary>
        /// 路由标签查询结果详情
        /// String(30)
        /// </summary>
        public RlsDetail rlsDetail { set; get; }
    }
    public class RlsDetail
    {
        /// <summary>
        /// 运单号
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 原寄地中转场
        /// String(60)
        /// </summary>
        public string sourceTransferCode { set; get; }
        /// <summary>
        /// 原寄地城市代码
        /// String(60)
        /// </summary>
        public string sourceCityCode { set; get; }
        /// <summary>
        /// 原寄地网点代码
        /// String(60)
        /// </summary>
        public string sourceDeptCode { set; get; }
        /// <summary>
        /// 原寄地单元区域
        /// String(60)
        /// </summary>
        public string sourceTeamCode { set; get; }
        /// <summary>
        /// 目的地城市代码,eg:755
        /// String(60)
        /// </summary>
        public string destCityCode { set; get; }
        /// <summary>
        /// 目的地网点代码,eg:755AQ
        /// String(60)
        /// </summary>
        public string destDeptCode { set; get; }
        /// <summary>
        /// 目的地网点代码映射码
        /// String(60)
        /// </summary>
        public string destDeptCodeMapping { set; get; }
        /// <summary>
        /// 目的地单元区域,eg:001
        /// String(60)
        /// </summary>
        public string destTeamCode { set; get; }
        /// <summary>
        /// 目的地单元区域映射码
        /// String(60)
        /// </summary>
        public string destTeamCodeMapping { set; get; }
        /// <summary>
        /// 目的地中转场
        /// String(60)
        /// </summary>
        public string destTransferCode { set; get; }
        /// <summary>
        /// 打单时的路由标签信息
        /// String(200)
        /// </summary>
        public string destRouteLabel { set; get; }
        /// <summary>
        /// 产品名称 对应RLS:pro_name
        /// String(60)
        /// </summary>
        public string proName { set; get; }
        /// <summary>
        /// 快件内容： 如：C816、SP601
        /// String(30)
        /// </summary>
        public string cargoTypeCode { set; get; }
        /// <summary>
        /// 时效代码, 如：T4
        /// String(30)
        /// </summary>
        public string limitTypeCode { set; get; }
        /// <summary>
        /// 产品类型,如：B1
        /// String(30)
        /// </summary>
        public string expressTypeCode { set; get; }
        /// <summary>
        /// 入港映射码 eg:S10
        /// String(60)
        /// </summary>
        public string codingMapping { set; get; }
        /// <summary>
        /// 出港映射码
        /// String(60)
        /// </summary>
        public string codingMappingOut { set; get; }
        /// <summary>
        /// 外发标签
        /// String(30)
        /// </summary>
        public string forwardFlag { set; get; }
        /// <summary>
        /// 打印标志 返回值总共有 9 位，每一位只有 0和 1 两种， 0 表示按顺丰运单默认的规则，1 表示显示
        /// String(60)
        /// </summary>
        public string printFlag { set; get; }
        /// <summary>
        /// 二维码
        /// String(600)
        /// </summary>
        public string twoDimensionCode { set; get; }
        /// <summary>
        /// 打印图标 根据托寄物判断需要打印的图标 (重货,蟹类,生鲜,易碎，Z 标)返回值有 8 位，每一位只有 0 和 1两种，0 表示按运单默认的规则，1 表示显示。后面两位默认 0 备用。 顺序如下：重货,蟹类,生鲜,易碎, 医药类,Z 标,0,0 如：00000000 表示不需要打印重货，蟹类，生鲜，易碎,医药,Z 标,备用,备用
        /// String(100)
        /// </summary>
        public string printIcon { set; get; }
        /// <summary>
        /// 快运标签：目前有两位，第一位备用。第二位：送装标识（0:不打印;1:送装分离icon;2:送装一体icon）
        /// String(100)
        /// </summary>
        public string fopIcon { set; get; }
        /// <summary>
        /// AB标
        /// String(30)
        /// </summary>
        public string abFlag { set; get; }
        /// <summary>
        /// 查询出现异常时返回信息。 返回代码： 0 系统异常 1 未找到运单
        /// String(1000)
        /// </summary>
        public string errMsg { set; get; }
        /// <summary>
        /// 件数
        /// String(20)
        /// </summary>
        public string goodsNumber { set; get; }
        /// <summary>
        /// 提/送货方式: 自提 送货上门（无电梯） 送货上门（有电梯） 送货（不含上楼）
        /// String(50)
        /// </summary>
        public string pickUpWay { set; get; }
        /// <summary>
        /// 路由数组,示例:”755G:D3,769BG:A2,020BF:C2,021BG:AF,010FG:D2”
        /// String(100)
        /// </summary>
        public string routeArray { set; get; }
        /// <summary>
        /// 是否打印logo 1：打印 其他：不打印 
        /// Number(1)
        /// </summary>
        public int printLogo { set; get; }
    }
    public class QueryPicObj
    {
        /// <summary>
        /// 图片信息列表，详情见ImageVo
        /// 是
        /// Array
        /// </summary>
        public List<ImageVo> picInfoList { set; get; }
    }
    public class ImageVo
    {
        /// <summary>
        /// 图片类型
        /// 是
        /// String
        /// </summary>
        public string imageType { set; get; }
        /// <summary>
        /// 图片数量
        /// 是
        /// Integer
        /// </summary>
        public int amount { set; get; }
        /// <summary>
        /// 图片集，内容为图片base64编码
        /// 是
        /// String
        /// </summary>
        public string imageList { set; get; }
    }
    public class LtlSearchRouterObj
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String(30)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 订单号
        /// 否
        /// String(64)
        /// </summary>
        public string orderId { set; get; }
        /// <summary>
        /// 订单号
        /// 否
        /// String(64)
        /// </summary>
        public List<RouteSelectInfo> routeList { set; get; }
    }
    public class AddressReachableCheckObj
    {
        /// <summary>
        /// 1 可达;2 不可达;3 无法推断
        /// 是
        /// Int(1)
        /// </summary>
        public int reachable { set; get; }
        /// <summary>
        /// 结果信息 
        /// 否
        /// String（32）
        /// </summary>
        public string resultMsg { set; get; }
    }
    public class ProductruleCheckPriceObj
    {
        /// <summary>
        /// 总运费
        /// 否
        /// Number(10, 3)
        /// </summary>
        public double totalPrice { set; get; }
        /// <summary>
        /// 付款货币类型，如果为空则是付款国的币种
        /// 否
        /// String(30)
        /// </summary>
        public string currencyType { set; get; }
        /// <summary>
        /// 汇率 
        /// 否
        /// Number(10, 3)
        /// </summary>
        public double rate { set; get; }
    }
    public class IfosWaybillRouteFindOrderObj
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 货物体积cm3
        /// 否
        /// BigDecimal
        /// </summary>
        public double cargoVolume { set; get; }
        /// <summary>
        /// 货物重量kg
        /// 否
        /// BigDecimal
        /// </summary>
        public double cargoWeight { set; get; }
        /// <summary>
        /// 货物数量
        /// 否
        /// Integer
        /// </summary>
        public int cargoAmount { set; get; }
        /// <summary>
        /// 签收时间或者预计派件时间（与timeTag配合使用）
        /// 否
        /// Date
        /// </summary>
        public DateTime expectDeliveryTime { set; get; }
        /// <summary>
        /// 对expectDeliveryTime字段的说明
        /// 否
        /// String
        /// </summary>
        public string timeTag { set; get; }
        /// <summary>
        /// 运单状态：10:已揽收，20:运输中，50：已签收
        /// 否
        /// String
        /// </summary>
        public string orderStatus { set; get; }
        /// <summary>
        /// 付款方式
        /// 否
        /// String
        /// </summary>
        public string payMethod { set; get; }
        /// <summary>
        /// 发件城市
        /// 是
        /// String
        /// </summary>
        public string senderCity { set; get; }
        /// <summary>
        /// 收件城市
        /// 是
        /// String
        /// </summary>
        public string receiverCity { set; get; }
        /// <summary>
        /// 路由信息(obj Array见下)
        /// 否
        /// Array
        /// </summary>
        public List<RouteInfo> routeInfos { set; get; }
        /// <summary>
        /// 转单号数量
        /// 否
        /// Integer
        /// </summary>
        public int waybillAmount { set; get; }
        /// <summary>
        /// 转单号集合
        /// 否
        /// Array
        /// </summary>
        public string[] subWaybillNos { set; get; }
        /// <summary>
        /// 转单号签收的数量
        /// 否
        /// Integer
        /// </summary>
        public int waybillReceived { set; get; }
        /// <summary>
        /// 转单号在运输中的数量
        /// 否
        /// Integer
        /// </summary>
        public int waybillTransporting { set; get; }
        /// <summary>
        /// 转单号在派件中的数量
        /// 否
        /// Integer
        /// </summary>
        public int waybillDelivering { set; get; }
    }
    public class RouteSelectInfo
    {
        /// <summary>
        /// 路由节点发生的时间，格式：YYYY-MM-DD HH24:MM:SS，示例：2012-07-30 09:30:00。
        /// 是
        /// String(19)
        /// </summary>
        public string info { set; get; }
        /// <summary>
        /// 路由节点发生的地点
        /// 是
        /// String(100)
        /// </summary>
        public string iacceptAddressnfo { set; get; }
        /// <summary>
        /// 路由节点具体描述
        /// 是
        /// String(150)
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 路由节点操作码 
        /// 是
        /// String(20)
        /// </summary>
        public string opcode { set; get; }
    }
    public class RouteInfo
    {
        /// <summary>
        /// 路由描述
        /// 是
        /// String
        /// </summary>
        public string info { set; get; }
        /// <summary>
        /// 运单状态：10:已揽收，20:运输中，50：已签收
        /// 是
        /// Integer
        /// </summary>
        public int status { set; get; }
        /// <summary>
        /// 状态描述
        /// 是
        /// String
        /// </summary>
        public string statusDesc { set; get; }
        /// <summary>
        /// 路由时间 
        /// 是
        /// Date
        /// </summary>
        public DateTime time { set; get; }
    }
    public class IfosWaybillRouteFindChildrenObj
    {
        /// <summary>
        /// 收货城市
        /// 是
        /// String
        /// </summary>
        public string receiverCity { set; get; }
        /// <summary>
        /// 发货城市
        /// 是
        /// String
        /// </summary>
        public string senderCity { set; get; }
        /// <summary>
        /// 转单号数量
        /// 是
        /// Integer
        /// </summary>
        public int waybillAmount { set; get; }
        /// <summary>
        /// 转单号在派件中的数量
        /// 否
        /// Integer
        /// </summary>
        public int waybillDelivering { set; get; }
        /// <summary>
        /// 转单号签收的数量
        /// 否
        /// Integer
        /// </summary>
        public int waybillReceived { set; get; }
        /// <summary>
        /// 转单号在运输中的数量
        /// 否
        /// Integer
        /// </summary>
        public int waybillTransporting { set; get; }
        /// <summary>
        /// 转单号信息
        /// 否
        /// Array
        /// </summary>
        public List<ChildrenInfo> childrenList { set; get; }
    }
    public class ChildrenInfo
    {
        /// <summary>
        /// 运单状态：10:已揽收，20:运输中，50：已签收
        /// 是
        /// Integer
        /// </summary>
        public int orderStatus { set; get; }
        /// <summary>
        /// 收货城市
        /// 是
        /// String
        /// </summary>
        public string receiverCity { set; get; }
        /// <summary>
        /// 发货城市
        /// 是
        /// String
        /// </summary>
        public string senderCity { set; get; }
        /// <summary>
        /// 转单号
        /// 是
        /// String
        /// </summary>
        public string waybillNo { set; get; }
    }
    public class CargoListInfo
    {
        /// <summary>
        /// 安装数量
        /// 是	
        /// Number(11)
        /// </summary>
        public int count { set; get; }
        /// <summary>
        /// 标准品类名称，标准品类和客户品类二选一
        /// 否
        /// String(100)
        /// </summary>
        public string standServiceName { set; get; }
        /// <summary>
        /// 标准品类编码，标准品类和客户品类二选一
        /// 否
        /// String(100)
        /// </summary>
        public string standServiceCode { set; get; }
        /// <summary>
        /// 客户品类名称，标准品类和客户品类二选一
        /// 否
        /// String(100)
        /// </summary>
        public string cusServiceName { set; get; }
        /// <summary>
        /// 客户品类编码，标准品类和客户品类二选一 
        /// 否
        /// String(100)
        /// </summary>
        public string cusServiceCode { set; get; }
    }
    public class FisAppendOrderObj
    {
        /// <summary>
        /// 安装订单号
        /// 是
        /// String(64)
        /// </summary>
        public string installOrderId { set; get; }
        /// <summary>
        /// 安装费，保留2位小数 
        /// 是
        /// Double
        /// </summary>
        public double installFee { set; get; }
    }
    public class ExpectedStopInfo
    {
        /// <summary>
        /// 经停地的省份
        /// 否
        /// String(30)
        /// </summary>
        public string stopProvince { set; get; }
        /// <summary>
        /// 经停地的城市
        /// 否
        /// String(30)
        /// </summary>
        public string stopCity { set; get; }
        /// <summary>
        /// 经停地的区
        /// 否
        /// String(30)
        /// </summary>
        public string stopCounty { set; get; }
        /// <summary>
        /// 经停地详细地址
        /// 是
        /// String(200)
        /// </summary>
        public string stopAddress { set; get; }
        /// <summary>
        /// 经停操作。 1：装 2：卸 3：装卸 
        /// 是
        /// int
        /// </summary>
        public int stopOperateType { set; get; }
    }
    public class TlCreateOrderObj
    {
        /// <summary>
        /// 客户订单号
        /// 是
        /// String(64)	
        /// </summary>
        public string orderId { set; get; }
        /// <summary>
        /// 运单号，需要生成运单号的时候，才会返回
        /// 否
        /// String(64)	
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 需要签回单时会生成，回单号
        /// 否
        /// String(64)	
        /// </summary>
        public string signBackWaybillNo { set; get; }
    }
    public class TlSearchOrderObj 
    {
        /// <summary>
        /// 客户订单号
        /// 是
        /// String(64)
        /// </summary>
        public string orderId { set; get; }
        /// <summary>
        /// 顺丰运单号
        /// 否
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 顺丰签回单号 
        /// 否
        /// String(64)
        /// </summary>
        public string signBackWaybillNo { set; get; }
    }

    public class OrderAddress
    {
        /// <summary>
        /// 经纬度坐标(英文逗号分隔)
        /// 是
        /// String
        /// </summary>
        public string coordinate { set; get; }
        /// <summary>
        /// 联系人姓名
        /// 是
        /// String
        /// </summary>
        public string contact { set; get; }
        /// <summary>
        /// 联系人电话
        /// 是
        /// String
        /// </summary>
        public string tel { set; get; }
        /// <summary>
        /// 地址
        /// 是
        /// String
        /// </summary>
        public string address { set; get; }
        /// <summary>
        /// 详细地址
        /// 是
        /// String
        /// </summary>
        public string addressDetail { set; get; }
        /// <summary>
        /// 楼层,如果不需要上楼服务,楼层传0
        /// 是
        /// int
        /// </summary>
        public int floor { set; get; }
        /// <summary>
        /// 是否电梯,0:否,1:是
        /// 是
        /// int
        /// </summary>
        public int lift { set; get; }
        /// <summary>
        /// 是否上传回单,0:否,7:是 
        /// 是
        /// int
        /// </summary>
        public int replyStatus { set; get; }
    }
    public class OrderVasFee
    {
        /// <summary>
        /// 增值服务编码
        /// 是
        /// String
        /// </summary>
        public string vasCode { set; get; }
        /// <summary>
        /// 保价金额、包装箱数量
        /// 否
        /// int
        /// </summary>
        public int num { set; get; }
    }

    public class UftlOfConfirmOrderData
    {
        /// <summary>
        /// 订单号
        /// 是
        /// String
        /// </summary>
        public string orderNo { set; get; }
    }

    public class OrderAddressVO
    {
        /// <summary>
        /// 联系人姓名
        /// 是
        /// String
        /// </summary>
        public string contact { set; get; }
        /// <summary>
        /// 联系人电话
        /// 是
        /// String
        /// </summary>
        public string tel { set; get; }
        /// <summary>
        /// 地址
        /// 是
        /// String
        /// </summary>
        public string address { set; get; }
        /// <summary>
        /// 楼层,如果不需要上楼服务,楼层传0
        /// 是
        /// int
        /// </summary>
        public int floor { set; get; }
        /// <summary>
        /// 是否电梯,0:否,1:是
        /// 是
        /// int
        /// </summary>
        public int lift { set; get; }
        /// <summary>
        /// 是否上传回单,0:否,7:是 
        /// 是
        /// int
        /// </summary>
        public int replyStatus { set; get; }
        /// <summary>
        /// 经纬度坐标(英文逗号分隔)
        /// 是
        /// String
        /// </summary>
        public string coordinate { set; get; }
    }

    public class UftlOfCalcFeeData
    {
        /// <summary>
        /// 里程支付金额(元)
        /// 是
        /// BigDecimal
        /// </summary>
        public double baseFee { set; get; }
        /// <summary>
        /// 总费用(元)
        /// 是
        /// BigDecimal
        /// </summary>
        public double totalFee { set; get; }
        /// <summary>
        /// 增值服务总费用(元)
        /// 是
        /// BigDecimal
        /// </summary>
        public double totalVasFee { set; get; }
        /// <summary>
        /// 里程(千米)
        /// 是
        /// BigDecimal
        /// </summary>
        public double mileage { set; get; }
        /// <summary>
        /// 增值服务费明细
        /// 是
        /// Array
        /// </summary>
        public List<OrderVasFeeVO> orderVasFeeList { set; get; }
    }
    public class OrderVasFeeVO
    {
        /// <summary>
        /// 增值服务编码
        /// 是
        /// String
        /// </summary>
        public string vasCode { set; get; }
        /// <summary>
        /// 车型
        /// 是
        /// String
        /// </summary>
        public string vehicle { set; get; }
        /// <summary>
        /// 保价金额、包装箱数量
        /// 是
        /// int
        /// </summary>
        public int num { set; get; }
        /// <summary>
        /// 增值服务费用(元)
        /// 是
        /// BigDecimal
        /// </summary>
        public double fee { set; get; }
        /// <summary>
        /// 增值服务名称
        /// 是
        /// String
        /// </summary>
        public string name { set; get; }
    }

    public class UftlOfOrderListData
    {
        /// <summary>
        /// 订单号
        /// 是
        /// String
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 下单时间
        /// 是
        /// String
        /// </summary>
        public string orderTime { set; get; }
        /// <summary>
        /// 完成服务时间
        /// 是
        /// String
        /// </summary>
        public string finishTime { set; get; }
        /// <summary>
        /// 联系人
        /// 是
        /// String
        /// </summary>
        public string contact { set; get; }
        /// <summary>
        /// 联系电话
        /// 是
        /// String
        /// </summary>
        public string tel { set; get; }
        /// <summary>
        /// 订单状态: 1待处理 2服务中 3已完成 4已取消 5待支付 9供应商待处理
        /// 是
        /// String
        /// </summary>
        public string orderStatus { set; get; }
        /// <summary>
        /// 备注
        /// 是
        /// String
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 客户单号
        /// 是
        /// String
        /// </summary>
        public string customerOrderNo { set; get; }
        /// <summary>
        /// 总费用,单位:元 
        /// 是
        /// Demical
        /// </summary>
        public decimal totalFee { set; get; }
    }

    public class UftlOfOrderDetailData
    {
        /// <summary>
        /// 订单号
        /// 是
        /// String
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 下单时间
        /// 是
        /// String
        /// </summary>
        public string orderTime { set; get; }
        /// <summary>
        /// 完成服务时间
        /// 是
        /// String
        /// </summary>
        public string finishTime { set; get; }
        /// <summary>
        /// 联系人
        /// 是
        /// String
        /// </summary>
        public string contact { set; get; }
        /// <summary>
        /// 联系电话
        /// 是
        /// String
        /// </summary>
        public string tel { set; get; }
        /// <summary>
        /// 预约上门时间
        /// 是
        /// String
        /// </summary>
        public string sendStartTime { set; get; }
        /// <summary>
        /// 订单状态: 1待处理 2服务中 3已完成 4已取消 5待支付 9供应商待处理
        /// 是
        /// String
        /// </summary>
        public string orderStatus { set; get; }
        /// <summary>
        /// 里程,单位:km
        /// 是
        /// Demical
        /// </summary>
        public decimal mileage { set; get; }
        /// <summary>
        /// 里程费用,单位:元
        /// 是
        /// Demical
        /// </summary>
        public decimal mileageFee { set; get; }
        /// <summary>
        /// 备注
        /// 是
        /// String
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 客户单号
        /// 是
        /// String
        /// </summary>
        public string customerOrderNo { set; get; }
        /// <summary>
        /// 车数量
        /// 是
        /// int
        /// </summary>
        public int carNumber { set; get; }
        /// <summary>
        /// 总费用,单位:元
        /// 是
        /// Demical
        /// </summary>
        public decimal totalFee { set; get; }
        /// <summary>
        /// 增值服务总费用,单位:元
        /// 是
        /// Demical
        /// </summary>
        public decimal vasTotal { set; get; }
        /// <summary>
        /// 车型
        /// 是
        /// Demical
        /// </summary>
        public string vehicle { set; get; }
        /// <summary>
        /// 城市
        /// 是
        /// Demical
        /// </summary>
        public string city { set; get; }
        /// <summary>
        /// 司机姓名
        /// 是
        /// Demical
        /// </summary>
        public string chauffeurName { set; get; }
        /// <summary>
        /// 司机电话
        /// 是
        /// Demical
        /// </summary>
        public string chauffeurTel { set; get; }
        /// <summary>
        /// 司机最新定位信息(经度纬度英文逗号分隔)
        /// 是
        /// Demical
        /// </summary>
        public string chauffeurCoordinate { set; get; }
        /// <summary>
        /// 取消订单原因
        /// 是
        /// Demical
        /// </summary>
        public string cancelMessage { set; get; }
        /// <summary>
        /// 取消订单原因
        /// 是
        /// Demical
        /// </summary>
        public List<DetailAddress> addressList { set; get; }
    }
    public class DetailAddress
    {
        /// <summary>
        /// 序号：0为搬出地址，后续为搬入地址
        /// 是
        /// int
        /// </summary>
        public int serialNo { set; get; }
        /// <summary>
        /// 地址
        /// 是
        /// String
        /// </summary>
        public string address { set; get; }
        /// <summary>
        /// 楼层
        /// 是
        /// int
        /// </summary>
        public int floor { set; get; }
        /// <summary>
        /// 有无电梯：0无，1有
        /// 是
        /// int
        /// </summary>
        public int lift { set; get; }
        /// <summary>
        /// 联系人名称
        /// 是
        /// String
        /// </summary>
        public string contact { set; get; }
        /// <summary>
        /// 联系电话
        /// 是
        /// String
        /// </summary>
        public string tel { set; get; }
    }

    public class UftlOfCityAvailableListData
    {
        /// <summary>
        /// 增值费编码
        /// 是
        /// String
        /// </summary>
        public string vasCode { set; get; }
        /// <summary>
        /// 名称
        /// 是
        /// String
        /// </summary>
        public string name { set; get; }
        /// <summary>
        /// 单位 
        /// 是
        /// String
        /// </summary>
        public string numUnit { set; get; }
    }

    public class UftlOfCityVehiclesData
    {
        /// <summary>
        /// 
        /// </summary>
        public List<CarModel> carModels { set; get; }
    }
    public class CarModel
    {
        /// <summary>
        /// 车型
        /// String
        /// </summary>
        public string model { set; get; }
        /// <summary>
        /// 载重，单位：吨
        /// Double
        /// </summary>
        public double weight { set; get; }
        /// <summary>
        /// 车箱长度，单位：米
        /// Double
        /// </summary>
        public double length { set; get; }
        /// <summary>
        /// 箱宽度，单位：米
        /// Double
        /// </summary>
        public double width { set; get; }
        /// <summary>
        /// 车箱高度，单位：米
        /// Double
        /// </summary>
        public double height { set; get; }
        /// <summary>
        /// 车箱容积，单位：立方米
        /// Double
        /// </summary>
        public double volume { set; get; }
        /// <summary>
        /// 是否有特殊规格
        /// Integer
        /// </summary>
        public int flag { set; get; }
        /// <summary>
        /// 车型图片
        /// String
        /// </summary>
        public string photo { set; get; }
        /// <summary>
        /// 可选特殊规格
        /// array
        /// </summary>
        public List<SpecialModel> specialModelList { set; get; }
    }
    public class SpecialModel
    {
        /// <summary>
        /// 特殊规格名称
        /// 是
        /// String
        /// </summary>
        public string name { set; get; }
        /// <summary>
        /// 特殊规格编码 
        /// 是
        /// String
        /// </summary>
        public string code { set; get; }
    }

    public class UftlOfSendStartTimeListData
    {
        /// <summary>
        /// 开始时间
        /// 是
        /// String
        /// </summary>
        public string startTime { set; get; }
        /// <summary>
        /// 结束时间
        /// 是
        /// String
        /// </summary>
        public string endTime { set; get; }
    }

    public class ForwardQueryTrackObj
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 时间点
        /// 是
        /// String(19)
        /// </summary>
        public string timestamp { set; get; }
        /// <summary>
        /// 车牌号
        /// 是
        /// String(32)
        /// </summary>
        public string licensePlateNumber { set; get; }
        /// <summary>
        /// 司机
        /// 否
        /// String(32)
        /// </summary>
        public string driver { set; get; }
        /// <summary>
        /// 司机电话
        /// 否
        /// String(32)
        /// </summary>
        public string driverPhone { set; get; }
        /// <summary>
        /// 省
        /// 否
        /// String(20)
        /// </summary>
        public string province { set; get; }
        /// <summary>
        /// 市
        /// 否
        /// String(20)
        /// </summary>
        public string city { set; get; }
        /// <summary>
        /// 区
        /// 否
        /// String(20)
        /// </summary>
        public string county { set; get; }
        /// <summary>
        /// 当前地址
        /// 否
        /// String(256)
        /// </summary>
        public string address { set; get; }
        /// <summary>
        /// 当前纬度
        /// 否
        /// Number
        /// </summary>
        public double latitude { set; get; }
        /// <summary>
        /// 当前经度
        /// 否
        /// Number
        /// </summary>
        public double longitude { set; get; }
        /// <summary>
        /// 当前海拔
        /// 否
        /// Number
        /// </summary>
        public double elevation { set; get; }
        /// <summary>
        /// 坐标类型, 1:百度 2：高德 3：Google
        /// 否
        /// Int
        /// </summary>
        public int latLongType { set; get; }
        /// <summary>
        /// 位置信息来源。如人工维护、GPS、定点签到等
        /// 是
        /// String(10)
        /// </summary>
        public string source { set; get; }
        /// <summary>
        /// 备注信息
        /// 否
        /// String(256)
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 订单状态 参见附件6.1 
        /// 否
        /// Int
        /// </summary>
        public int stauts { set; get; }
    }

    public class ForwardQueryRouterObj
    {
        /// <summary>
        /// 运单号
        /// 是
        /// String(64)
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public int status { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public List<RouterInfo> routerInfos { set; get; }
    }
    public class RouterInfo
    {
        /// <summary>
        /// 路由信息的唯一识别码，系统用此字段判断是否重复。建议使用UUID，也可以使用context的hash作为去重的判断
        /// 是
        /// String(64)
        /// </summary>
        public string uniqueId { set; get; }
        /// <summary>
        /// 路由发生时的面单状态。只能为0
        /// 是
        /// Int
        /// </summary>
        public int status { set; get; }
        /// <summary>
        /// 操作人员姓名或者工号
        /// 是
        /// String(30)
        /// </summary>
        public string @operator { set; get; }
        /// <summary>
        /// 发生时间。格式: yyyy-MM-dd HH:mm:ss。即该操作的发生时间，必须传实际时间，不能传上传时候的当前时间。
        /// 是
        /// String(19)
        /// </summary>
        public string operateTime { set; get; }
        /// <summary>
        /// 路由描述信息。 必须按照严格按照路由描述及解释 转译。避免出现收件、签收等给客户造成误解的描述
        /// 是
        /// String(200)
        /// </summary>
        public string context { set; get; }
        /// <summary>
        /// 路由发生的城市
        /// 是
        /// String(20)
        /// </summary>
        public string cityName { set; get; }
        /*
            "routerInfos": [
                {
                    "uniqueId": "2388561349448722724",
                    "status": 0,
                    "operator": "王大雷",
                    "operateTime": "2019-05-18 12:30:00",
                    "context": "广西壮族自治区贺州市八步区大宁镇公司岳** 派件中 派件员电话18877457789",
                    "cityName": "贺州市"
                },
                {
                    "uniqueId": "2388561349448722",
                    "status": 0,
                    "operator": "王大雷",
                    "operateTime": "2019-05-18 12:30:00",
                    "context": "广西省贺州市公司 已发出,下一站 广西壮族自治区贺州市八步区大宁镇",
                    "cityName": "贺州市"
                }
            ] 
        */
    }
    public class RouterModel
    {
        /// <summary>
        /// 路由信息的唯一识别码，系统用此字段判断是否重复。建议使用UUID，也可以使用context的hash作为去重的判断
        /// 是
        /// String(64)
        /// </summary>
        public string uniqueId { set; get; }
        /// <summary>
        /// 路由发生时的面单状态。只能为0
        /// 是
        /// Int
        /// </summary>
        public int status { set; get; }
        /// <summary>
        /// 操作人员姓名或者工号
        /// 是
        /// String(30)
        /// </summary>
        public string @operator { set; get; }
        /// <summary>
        /// 发生时间。格式: yyyy-MM-dd HH:mm:ss。即该操作的发生时间，必须传实际时间，不能传上传时候的当前时间。
        /// 是
        /// String(19)
        /// </summary>
        public string operateTime { set; get; }
        /// <summary>
        /// 路由描述信息。 必须按照严格按照路由描述及解释 转译。避免出现收件、签收等给客户造成误解的描述
        /// 是
        /// String(200)
        /// </summary>
        public string context { set; get; }
        /// <summary>
        /// 路由发生的城市
        /// 是
        /// String(20)
        /// </summary>
        public string cityName { set; get; }
        /// <summary>
        /// 路由发生的省份
        /// 是
        /// String(20)
        /// </summary>
        public string provinceName { set; get; }
    }

    public class AddedService
    {
        /// <summary>
        /// 增值服务名
        /// 否
        /// String(100)
        /// </summary>
        public string name { set; get; }
        /// <summary>
        /// 增值服务类别
        /// 否
        /// String(100)
        /// </summary>
        public string code { set; get; }
        /// <summary>
        /// 增值服务的值
        /// 否
        /// String(20)
        /// </summary>
        public string value { set; get; }
        /*
        
        AddedService

        属性名	参数类型	Required/Optional	描述
        name	String(100)	O	增值服务名
        code	String(100)	O	增值服务类别
        value	String(20)	O	增值服务的值
        增值服务对照表：

        Code	name	Value
        CP0029	按需达	
        IN01	代收货款	代收金额
        IN02	保价	保价金额
        IN03	签单返还(纸质回单)	
        IN03	签回单	
        IN04	定时派送(等通知)	
        IN04	定时派送（等通知）	
        IN05	签收短信	
        IN07	报关服务	
        IN07	正式报关	
        IN07	进口报关	
        IN09	自取件	
        IN10	委托件	
        IN10	委托取件	
        IN100	资源调节	
        IN100	高峰资源调节费	
        IN101	原单转寄退回	
        IN101	原单退回	
        IN101	转寄/退回	
        IN102	特殊入仓	
        IN103	安装服务	
        IN104	高峰期附加费	
        IN105	签收确认服务	
        IN106	促销优惠	
        IN106	散单促销	
        IN109	到付现结优惠	
        IN109	快运到付现结优惠	
        IN11	指定时间派送	
        IN113	丰巢自寄优惠	
        IN116	宅配延伸	
        IN119	升舱次晨	
        IN121	准时保	
        IN123	参展服务	
        IN125	到柜服务	
        IN132	升舱服务	
        IN133	珍宝服务	
        IN137	出口报关	
        IN139	特派服务	
        IN139	直派服务	
        IN14	换包装	
        IN14	标准化包装服务	
        IN142	打包服务	
        IN143	丰卡速通	
        IN144	到齐再派	
        IN149	电子回单	
        IN15	燃油附加费	
        IN150	惊喜送达	
        IN152	木架拆卸服务	
        IN159	足额保	
        IN160	定额保	
        IN18	派件短信	
        IN200	乡镇派送服务	
        IN200	乡镇配送	
        IN200	其他服务（新）	
        IN200	外勤管理400	
        IN200	外勤管理500	
        IN200	外勤管理800	
        IN21	保价	
        IN21	基础保（高价值）	
        IN21	特安	
        IN23	超长超重服务	
        IN23	超长超重附加费	
        IN25	保价（台湾）	
        IN26	定时派送(指定时段)	
        IN26	定时派送（指定时段）	
        IN31	打木架	
        IN31	木质包装	
        IN41	保鲜服务	
        IN44	散单代收服务	
        IN45	送货上楼	
        IN45	送货上楼服务	
        IN45_0	上楼	
        IN45_0	上楼(有电梯)	
        IN52	验货服务	
        IN56	拍照验证	
        IN59	口令签收	
        IN59	密钥认证	
        IN59	签收确认	
        IN60	展会服务	
        IN60	撤展服务	
        IN65	装卸服务	
        IN65_0	装货	
        IN65_1	卸货	
        IN67	包装服务	
        IN73	上门收货	
        IN73	提货	
        IN73	提货服务	
        IN74	送货	
        IN74	送货服务	
        IN74	送货（不含上楼）	
        IN80	特殊出仓	
        IN87	保单配送	
        IN88	派件地址变更服务	
        IN89	优派服务	
        IN89	升舱次晨0930	
        IN89	升舱次晨（0930）	
        IN90	易碎件	
        IN91	拍照回传	
        IN91	电子图片	
        IN91	电子验收	
        IN95	集报散派	
        IN98	大件入户	
        IN98	大闸蟹专递	
        IN99	票据专送	
        OS03	入仓垫付费	
        OS04	丰巢超重费	
        OS06	产品优惠	
        OS06	快运产品优惠	
        OS09	电商退货超重费	
        OS09	超额现结费	
        OS11	收件微派	 
        */
    }
    public class FeeModel
    {
        /// <summary>
        /// 费用名
        /// 否
        /// String(100)
        /// </summary>
        public string feeName { set; get; }
        /// <summary>
        /// 费用类型
        /// 否
        /// String(100)
        /// </summary>
        public string feeTypeCode { set; get; }
        /// <summary>
        /// 费用
        /// 否
        /// Number(10, 3)
        /// </summary>
        public double feeAmt { set; get; }
        /// <summary>
        /// 支付方式
        /// 否
        /// String(1)
        /// </summary>
        public string paymentTypeCode { set; get; }
        /// <summary>
        /// 支付方式名
        /// 否
        /// String(100)
        /// </summary>
        public string paymentTypeName { set; get; }
        /// <summary>
        /// 结算类型
        /// 否
        /// String(1)
        /// </summary>
        public string settlementTypeCode { set; get; }
        /// <summary>
        /// 结算名称
        /// 否
        /// String(100)
        /// </summary>
        public string settlementTypeName { set; get; }
        /// <summary>
        /// 费用单位
        /// 否
        /// String(1)
        /// </summary>
        public string currencyCode { set; get; }
        /// <summary>
        /// 费用单位名称 
        /// 否
        /// String(100)
        /// </summary>
        public string currencyName { set; get; }
    }
    public class ExtendInfo
    {
        /// <summary>
        /// 自动转寄44操作码的员工编码
        /// 否
        /// String(100)
        /// </summary>
        public string AUTO_FORWARDING_44_EMP_CODE { set; get; }
        /// <summary>
        /// 自动转寄44操作码员工手机号
        /// 否
        /// String(100)
        /// </summary>
        public string AUTO_FORWARDING_44_EMP_MOBILE { set; get; }
        /// <summary>
        /// 客户订单号
        /// 否
        /// String(100)
        /// </summary>
        public string outerOrderNo { set; get; }
        /// <summary>
        /// 货物价值 
        /// 否
        /// Number
        /// </summary>
        public decimal cargoValue { set; get; }
    }
    public class PayableModel
    {
        /// <summary>
        /// 金额（可能为负）
        /// 是
        /// Number
        /// </summary>
        public decimal feeAmt { set; get; }
        /// <summary>
        /// 费用名称
        /// 否
        /// String
        /// </summary>
        public string feeName { set; get; }
        /// <summary>
        /// 费用代码
        /// 是
        /// String
        /// </summary>
        public string feeTypeCode { set; get; }
    }

    public class ForwardPlaceOrderObj
    { 
    
    }

    public class FoOrderAbnormalApplySub
    {
        /// <summary>
        /// 长，厘米
        /// 否
        /// String
        /// </summary>
        public string length { set; get; }
        /// <summary>
        /// 宽，厘米
        /// 否
        /// String
        /// </summary>
        public string width { set; get; }
        /// <summary>
        /// 高，厘米
        /// 否
        /// String
        /// </summary>
        public string height { set; get; }
        /// <summary>
        /// 件数
        /// 否
        /// Integer
        /// </summary>
        public int quantity { set; get; }
    }

    public class ReceiverAddr
    {
        /// <summary>
        /// 公司名称
        /// 否
        /// String(100)
        /// </summary>
        public string company { set; get; }
        /// <summary>
        /// 联系人
        /// 是
        /// String(100)
        /// </summary>
        public string contact { set; get; }
        /// <summary>
        /// 手机号国际电话区号
        /// 是
        /// String(10)
        /// </summary>
        public string i18nAreaCode { set; get; }
        /// <summary>
        /// 联系人手机号
        /// 是
        /// String(20)
        /// </summary>
        public string mobile { set; get; }
        /// <summary>
        /// 国家编码 ，参考附件1-收货国家/地区
        /// AF(“阿富汗”)
        /// AL(“阿尔巴尼亚”)
        /// DZ(“阿尔及利亚”)
        /// AD(“安道尔共和国”)
        /// AU(“澳大利亚”)
        /// AT(“奥地利”)
        /// AZ(“阿塞拜疆”)
        /// BH(“巴林”)
        /// BD(“孟加拉国”)
        /// BY(“白俄罗斯”)
        /// BE(“比利时”)
        /// BT(“不丹”)
        /// BA(“波斯尼亚和黑塞哥维那”)
        /// BN(“文莱”)
        /// BG(“保加利亚”)
        /// KH(“柬埔寨”)
        /// CA(“加拿大”)
        /// HR(“克罗地亚”)
        /// CY(“塞浦路斯”)
        /// CZ(“捷克”)
        /// AT(“奥地利”),
        /// BE(“比利时”),
        /// CA(“加拿大”),
        /// DE(“德国”),
        /// GB(“英国”),
        /// GR(“希腊”),
        /// IT(“意大利”),
        /// JP(“日本”),
        /// RU(“俄罗斯”),
        /// US(“美国”),
        /// VN(“越南”)
        /// 是
        /// String(10)
        /// </summary>
        public string countryCode { set; get; }
        /// <summary>
        /// 省/州
        /// 否
        /// String(30)
        /// </summary>
        public string province { set; get; }
        /// <summary>
        /// 城市
        /// 是
        /// String(30)
        /// </summary>
        public string city { set; get; }
        /// <summary>
        /// 区
        /// 否
        /// String(30)
        /// </summary>
        public string county { set; get; }
        /// <summary>
        /// 详细地址，收件类型是私人地址时必填
        /// 是
        /// String(200)
        /// </summary>
        public string address { set; get; }
        /// <summary>
        /// 邮编
        /// 是
        /// String(20)
        /// </summary>
        public string postCode { set; get; }
        /// <summary>
        /// FBA仓库编码，收件类型是FBA仓库必填
        /// 否
        /// String(200)
        /// </summary>
        public string warehouseCode { set; get; }
    }

    public class CargoDTOBase
    {
        /// <summary>
        /// 包裹号，一般为FBA箱号
        /// 否
        /// String(30)
        /// </summary>
        public string boxNo { set; get; }
        /// <summary>
        /// 包裹长（cm），下单尺寸
        /// 是
        /// Number(16,2)
        /// </summary>
        public double length { set; get; }
        /// <summary>
        /// 包裹宽（cm），下单尺寸
        /// 是
        /// Number(16,2)
        /// </summary>
        public double width { set; get; }
        /// <summary>
        /// 包裹高（cm），下单尺寸
        /// 是
        /// Number(16,2)
        /// </summary>
        public double height { set; get; }
        /// <summary>
        /// 包裹重量(kg），下单尺寸
        /// 是
        /// Number(16,2)
        /// </summary>
        public double weight { set; get; }
        /// <summary>
        /// 扩展字段，包含key和value属性
        /// 否
        /// Array<String, String>
        /// </summary>
        public List<ExtraMap> extraMap { set; get; }
    }
    public class CargoDTO : CargoDTOBase
    {
        /// <summary>
        /// SKU
        /// 否
        /// String(200)
        /// </summary>
        public string SKU { set; get; }
        /// <summary>
        /// 英文品名
        /// 否
        /// String(200)
        /// </summary>
        public string englishName { set; get; }
        /// <summary>
        /// 中文品名
        /// 否
        /// String(200)
        /// </summary>
        public string chineseName { set; get; }
        /// <summary>
        /// 品牌
        /// 否
        /// String(200)
        /// </summary>
        public string brand { set; get; }
        /// <summary>
        /// 型号
        /// 否
        /// String(200)
        /// </summary>
        public string model { set; get; }
        /// <summary>
        /// 中文材质
        /// 否
        /// String(200)
        /// </summary>
        public string chineseMaterial { set; get; }
        /// <summary>
        /// 英文材质
        /// 否
        /// String(200)
        /// </summary>
        public string englishMaterial { set; get; }
        /// <summary>
        /// 用途
        /// 否
        /// String(200)
        /// </summary>
        public string purpose { set; get; }
        /// <summary>
        /// 包装
        /// 否
        /// String(200)
        /// </summary>
        public string packing { set; get; }
        /// <summary>
        /// 海关编码
        /// 否
        /// String(20)
        /// </summary>
        public string customsCode { set; get; }
        /// <summary>
        /// 每箱个数
        /// 否
        /// String(20)
        /// </summary>
        public string numberOfBoxes { set; get; }
        /// <summary>
        /// 单个产品申报价值
        /// 否
        /// BigDecimal
        /// </summary>
        public decimal declaredValue { set; get; }
        /// <summary>
        /// 申报总价值
        /// 否
        /// BigDecimal
        /// </summary>
        public decimal declaredTotalValue { set; get; }
        /// <summary>
        /// 销售链接 
        /// 否
        /// String(50)
        /// </summary>
        public string salesURL { set; get; }
    }
    public class BillFBADTO
    {
        /// <summary>
        /// FBA编号
        /// 否
        /// String(20)
        /// </summary>
        public string fbaNo { set; get; }
        /// <summary>
        /// 货件追踪编号 
        /// 否
        /// String(20)
        /// </summary>
        public string trackingNo { set; get; }
    }
    public class BillConsignDTO
    {
        /// <summary>
        /// 包裹长（cm），下单尺寸
        /// 是
        /// Number(16,2)
        /// </summary>
        public double length { set; get; }
        /// <summary>
        /// 包裹宽（cm），下单尺寸
        /// 是
        /// Number(16,2)
        /// </summary>
        public double width { set; get; }
        /// <summary>
        /// 包裹高（cm），下单尺寸
        /// 是
        /// Number(16,2)
        /// </summary>
        public double height { set; get; }
        /// <summary>
        /// 包裹重量(kg），下单尺寸
        /// 是
        /// Number(16,2)
        /// </summary>
        public double weight { set; get; }
        /// <summary>
        /// SKU
        /// 否
        /// String(200)
        /// </summary>
        public string SKU { set; get; }
        /// <summary>
        /// 英文品名
        /// 否
        /// String(200)
        /// </summary>
        public string englishName { set; get; }
        /// <summary>
        /// 中文品名
        /// 否
        /// String(200)
        /// </summary>
        public string chineseName { set; get; }
        /// <summary>
        /// 品牌
        /// 否
        /// String(200)
        /// </summary>
        public string brand { set; get; }
        /// <summary>
        /// 包装
        /// 否
        /// String(200)
        /// </summary>
        public string packing { set; get; }
        /// <summary>
        /// 海关编码
        /// 否
        /// String(20)
        /// </summary>
        public string customsCode { set; get; }
        /// <summary>
        /// 每箱个数
        /// 否
        /// String(20)
        /// </summary>
        public string numberOfBoxes { set; get; }
        /// <summary>
        /// 单个产品申报价值
        /// 否
        /// BigDecimal
        /// </summary>
        public decimal declaredValue { set; get; }
        /// <summary>
        /// 申报总价值
        /// 否
        /// BigDecimal
        /// </summary>
        public decimal declaredTotalValue { set; get; }
        /// <summary>
        /// 销售链接 
        /// 否
        /// String(50)
        /// </summary>
        public string salesURL { set; get; }
    }
    public class PushI18nOrderObj
    {
        /// <summary>
        /// 订单号
        /// 是
        /// String(20)
        /// </summary>
        public string orderNo { set; get; }
        /// <summary>
        /// 子单号列表
        /// 否
        /// Array<String>
        /// </summary>
        public string[] subNos { set; get; }
        /// <summary>
        /// 查单号，查单根据这个标识来查 
        /// 否
        /// String(20)
        /// </summary>
        public string referenceNo { set; get; }
    }

    public class IfosAttachmentAddObj
    { 
        
    }

    public class RouteDTO
    {
        /// <summary>
        /// 操作时间
        /// 是
        /// Long
        /// </summary>
        public long opTime { set; get; }
        /// <summary>
        /// 操作描述(路由文本内容)
        /// 是
        /// string
        /// </summary>
        public string opDesc { set; get; }
        /// <summary>
        /// 里程碑，详见里程碑 
        /// 否
        /// string
        /// </summary>
        public string mileStone { set; get; }
    }
    public class BaseRoute
    {
        /// <summary>
        /// 业务类型[TransferNo:转单号；ShipNo:船名+预计时间；FlightNo:航班]
        /// 否
        /// String	
        /// </summary>
        public string serviceType { set; get; }
        /// <summary>
        /// 转单号。业务类型为TransferNo时必填
        /// 否
        /// String	
        /// </summary>
        public string transferNo { set; get; }
        /// <summary>
        /// 船名。业务类型为ShipNo时必填
        /// 否
        /// String	
        /// </summary>
        public string shipNo { set; get; }
        /// <summary>
        /// 航班。业务类型为FlightNo时必填
        /// 否
        /// String	
        /// </summary>
        public string flightNo { set; get; }
        /// <summary>
        /// 预计离岸时间，格式为YYYY-MM-DD hh:mm:ss
        /// 否
        /// String	
        /// </summary>
        public string etd { set; get; }
        /// <summary>
        /// 预计到岸时间，格式为YYYY-MM-DD hh:mm:ss 
        /// 否
        /// String	
        /// </summary>
        public string eta { set; get; }
    }

    public class InvoiceFile
    {
        /// <summary>
        /// 装箱单发票ossid （不传）
        /// 否
        /// string
        /// </summary>
        public string objectName { set; get; }
        /// <summary>
        /// 装箱单发票文件名称 （不传） 
        /// 否
        /// string
        /// </summary>
        public string originalFilename { set; get; }
    }
    public class ReceiverAddressDTO
    {
        /// <summary>
        /// 收件详细地址（收件类型是非FBA地址必填)
        /// 否	
        /// string
        /// </summary>
        public string address { set; get; }
        /// <summary>
        /// 收件地址城市
        /// 否	
        /// string
        /// </summary>
        public string city { set; get; }
        /// <summary>
        /// 收件人公司名称
        /// 否	
        /// string
        /// </summary>
        public string company { set; get; }
        /// <summary>
        /// 收件地址联系人（收件类型是非FBA地址必填)
        /// 否	
        /// string
        /// </summary>
        public string contact { set; get; }
        /// <summary>
        /// 收件国家/地区，见备注枚举
        /// 是
        /// string
        /// </summary>
        public string country { set; get; }
        /// <summary>
        /// 收件国家/地区代码，见备注枚举
        /// 是
        /// string
        /// </summary>
        public string countryCode { set; get; }
        /// <summary>
        /// 收件人手机号(非FBA，则必填)
        /// 否
        /// string
        /// </summary>
        public string mobile { set; get; }
        /// <summary>
        /// 收件地址邮编 (非FBA，则必填)
        /// 否
        /// string
        /// </summary>
        public string postCode { set; get; }
        /// <summary>
        /// 收件地址省份 
        /// 否
        /// string
        /// </summary>
        public string province { set; get; }
    }
    public class SenderAddressDTO
    {
        /// <summary>
        /// 发货人详细地址
        /// 是
        /// string
        /// </summary>
        public string address { set; get; }
        /// <summary>
        /// 发货联系人
        /// 是
        /// string
        /// </summary>
        public string contact { set; get; }
        /// <summary>
        /// 发货公司名称
        /// 否
        /// string
        /// </summary>
        public string company { set; get; }
        /// <summary>
        /// 发货地址省份（中文）
        /// 是
        /// string
        /// </summary>
        public string province { set; get; }
        /// <summary>
        /// 发货地址省份代码
        /// 否
        /// string
        /// </summary>
        public string provinceCode { set; get; }
        /// <summary>
        /// 发货地址城市（中文）
        /// 是
        /// string
        /// </summary>
        public string city { set; get; }
        /// <summary>
        /// 发货地址城市编码
        /// 否
        /// string
        /// </summary>
        public string cityCode { set; get; }
        /// <summary>
        /// 发货地址区县（中文）
        /// 是
        /// string
        /// </summary>
        public string county { set; get; }
        /// <summary>
        /// 发货地址区县编码
        /// 否
        /// string
        /// </summary>
        public string countyCode { set; get; }
        /// <summary>
        /// 发货人手机号 
        /// 是
        /// string
        /// </summary>
        public string mobile { set; get; }
    }
    public class CargoIfos
    {
        /// <summary>
        /// 货物名称
        /// 否
        /// string
        /// </summary>
        public string cargoName { set; get; }
        /// <summary>
        /// 货物类型 1.普货，2.带电，3.带磁，4.带磁带电
        /// 是
        /// string
        /// </summary>
        public string cargoType { set; get; }
    }
    public class CustomsFile
    {
        /// <summary>
        /// 报关文件ossid
        /// 否
        /// string
        /// </summary>
        public string objectName { set; get; }
        /// <summary>
        /// 报关文件名称
        /// 否
        /// string
        /// </summary>
        public string originalFilename { set; get; }
    }
    public class PackageModel
    {
        /// <summary>
        /// 箱号（填写FBA编号或阿拉伯数字）
        /// 是
        /// string
        /// </summary>
        public string boxNo { set; get; }
        /// <summary>
        /// 包裹高cm
        /// 是
        /// string
        /// </summary>
        public string packageHigh { set; get; }
        /// <summary>
        /// 包裹长cm
        /// 是
        /// string
        /// </summary>
        public string packageLong { set; get; }
        /// <summary>
        /// 包裹重量kg（实重）
        /// 是
        /// string
        /// </summary>
        public string packageWeight { set; get; }
        /// <summary>
        /// 包裹宽cm
        /// 是
        /// string
        /// </summary>
        public string packageWidth { set; get; }
        /// <summary>
        /// SKU
        /// 否
        /// string
        /// </summary>
        public string SKU { set; get; }
        /// <summary>
        /// 英文品名
        /// 否
        /// string
        /// </summary>
        public string englishName { set; get; }
        /// <summary>
        /// 中文品名
        /// 否
        /// string
        /// </summary>
        public string chineseName { set; get; }
        /// <summary>
        /// 品牌
        /// 否
        /// string
        /// </summary>
        public string brand { set; get; }
        /// <summary>
        /// 型号
        /// 否
        /// string
        /// </summary>
        public string model { set; get; }
        /// <summary>
        /// 中文材质
        /// 否
        /// string
        /// </summary>
        public string chineseMaterial { set; get; }
        /// <summary>
        /// 英文材质
        /// 否
        /// string
        /// </summary>
        public string englishMaterial { set; get; }
        /// <summary>
        /// 用途
        /// 否
        /// string
        /// </summary>
        public string purpose { set; get; }
        /// <summary>
        /// 用途
        /// 否
        /// string
        /// </summary>
        public string packing { set; get; }
        /// <summary>
        /// 海关编码
        /// 否
        /// string
        /// </summary>
        public string customsCode { set; get; }
        /// <summary>
        /// 每箱个数
        /// 否
        /// string
        /// </summary>
        public string numberOfBoxes { set; get; }
        /// <summary>
        /// 单个产品申报价值
        /// 否
        /// string
        /// </summary>
        public string declaredValue { set; get; }
        /// <summary>
        /// 申报总价值
        /// 否
        /// string
        /// </summary>
        public string declaredTotalValue { set; get; }
        /// <summary>
        /// 销售链接
        /// 否
        /// string
        /// </summary>
        public string salesLink { set; get; }
        /// <summary>
        /// 图片 
        /// 否
        /// string
        /// </summary>
        public string pic { set; get; }
    }
    public class IfosPlaceOrderObj
    {
        /// <summary>
        /// 母单号
        /// string
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 子单号
        /// string
        /// </summary>
        public string subWaybillNo { set; get; }
    }

    public class ExtraMap
    { 
        /// <summary>
        /// 
        /// </summary>
        public string key { set; get; }
        /// <summary>
        /// 
        /// </summary>
        public string value { set; get; }
    }

    public class RouteModel
    {
        /// <summary>
        /// 操作时间
        /// 是
        /// Date
        /// </summary>
        public DateTime opTime { set; get; }
        /// <summary>
        /// 操作类型
        /// 是
        /// String(20)
        /// </summary>
        public string opCode { set; get; }
        /// <summary>
        /// 操作类型
        /// 是
        /// String(20)
        /// </summary>
        public RouteAddr opAddr { set; get; }
        /*
        
        Route 属性字段

        属性名	参数类型	Required/Optional	描述
        opTime	Date	R	操作时间
        opCode	String(20)	R	操作类型
        opAddr		O	操作当时的地址，参见Addr
        Addr属性字段

        属性名	参数类型	Required/Optional	描述
        country	String(10)	O	国家
        province	String(30)	O	省份
        city	String(30)	O	城市
        county	String(30)	O	区
        address	String(200)	R	详细地址
        postCode	String(20)	O	邮编 
        */
    }
    public class RouteAddr
    {
        /// <summary>
        /// 国家
        /// 否
        /// String(10)
        /// </summary>
        public string country { set; get; }
        /// <summary>
        /// 省份
        /// 否
        /// String(30)
        /// </summary>
        public string province { set; get; }
        /// <summary>
        /// 城市
        /// 否
        /// String(30)
        /// </summary>
        public string city { set; get; }
        /// <summary>
        /// 区
        /// 否
        /// String(30)
        /// </summary>
        public string county { set; get; }
        /// <summary>
        /// 详细地址
        /// 是
        /// String(200)
        /// </summary>
        public string address { set; get; }
        /// <summary>
        /// 邮编 
        /// 否
        /// String(20)
        /// </summary>
        public string postCode { set; get; }
    }

    public class FisOrder
    {
        /// <summary>
        /// 母单号
        /// 是
        /// string
        /// </summary>
        public string waybillNo { set; get; }
        /// <summary>
        /// 任务编码
        /// 是
        /// string
        /// </summary>
        public string taskCode { set; get; }
        /// <summary>
        /// 子单号 用逗号（,）隔开，此字段可以用于提货+安装业务的提货包裹数的校验。
        /// 否
        /// string
        /// </summary>
        public string subWaybillNos { set; get; }
        /// <summary>
        /// 订单来源，如京东
        /// 否
        /// string
        /// </summary>
        public string orderSource { set; get; }
        /// <summary>
        /// 客户订单号
        /// 否
        /// string
        /// </summary>
        public string customOrderId { set; get; }
        /// <summary>
        /// 货物名称
        /// 否
        /// string
        /// </summary>
        public string cargoName { set; get; }
        /// <summary>
        /// 货物体积
        /// 否
        /// string
        /// </summary>
        public string totalVolume { set; get; }
        /// <summary>
        /// 货物重量
        /// 否
        /// string
        /// </summary>
        public string totalWeight { set; get; }
        /// <summary>
        /// 收件人
        /// 是
        /// string
        /// </summary>
        public string receiverName { set; get; }
        /// <summary>
        /// 安装类型 1:上门安装 2：提货+安装 7:维修 8:检测维修
        /// 是
        /// Integer
        /// </summary>
        public int serviceType { set; get; }
        /// <summary>
        /// 收件人电话
        /// 是
        /// string
        /// </summary>
        public string receiverPhone { set; get; }
        /// <summary>
        /// 收件人地址
        /// 是
        /// string
        /// </summary>
        public string receiverAddress { set; get; }
        /// <summary>
        /// 子母件数
        /// 是
        /// int
        /// </summary>
        public int packageCount { set; get; }
        /// <summary>
        /// 版本号
        /// 是
        /// int
        /// </summary>
        public int version { set; get; }
        /// <summary>
        /// 订单状态 1：新增/修改 2：取消，可以使用version判断数据版本号
        /// 是
        /// string
        /// </summary>
        public string supplierOrderStatus { set; get; }
        /// <summary>
        /// 备注
        /// 否
        /// string
        /// </summary>
        public string remark { set; get; }
        /// <summary>
        /// 取消原因 当取消时会有值
        /// 否
        /// string
        /// </summary>
        public string cancelReason { set; get; }
        /// <summary>
        /// 取消时间 当取消时有值，示例：2024-03-19 12:45:12
        /// 否
        /// string
        /// </summary>
        public string cancelTime { set; get; }
        /// <summary>
        /// 安装品类 参见 InstallTypeDto
        /// 是
        /// List
        /// </summary>
        public List<InstallTypeDto> installTypes { set; get; }
        /// <summary>
        /// 扩展字段 Key & Value数据对	
        /// 否
        /// Map<String, String>	
        /// </summary>
        public List<ExtraMap> extendInfo { set; get; }
        /// <summary>
        /// 顺丰、顺心标示 用于顺丰、顺心捷达两品牌都支持的供应商进行品牌区分
        /// 否
        /// string
        /// </summary>
        public string orderTag { set; get; }
        /// <summary>
        /// 期望服务时间	2021.12.21日新增字段 示例：2021-12-21 15:00
        /// 否
        /// string
        /// </summary>
        public string expectServiceTime { set; get; }
        /// <summary>
        /// 物流公司名称	2021.12.21日新增字段 示例：顺丰快运
        /// 否
        /// string
        /// </summary>
        public string logisticsCompany { set; get; }
        /// <summary>
        /// 物流运单号	2021.12.21日新增字段 示例：SF10000010101
        /// 否
        /// string
        /// </summary>
        public string logisticsNo { set; get; }
        /// <summary>
        /// 增值服务 参见 AddedServiceDto
        /// 否
        /// List<AddedServiceDto>
        /// </summary>
        public List<AddedServiceDto> addedServices { set; get; }
    }
    public class InstallTypeDto
    {
        /// <summary>
        /// 安装品类编码
        /// 是
        /// String
        /// </summary>
        public string installTypeCode { set; get; }
        /// <summary>
        /// 安装品类名
        /// 是
        /// String
        /// </summary>
        public string installTypeName { set; get; }
        /// <summary>
        /// 安装品类图片，逗号隔开 2021.12.07新增字段 此链接永久有效
        /// 否
        /// String
        /// </summary>
        public string imageUrl { set; get; }
        /// <summary>
        /// 安装视频，逗号隔开 2021.12.07新增字段 此链接一天有效期，请自行保存
        /// 否
        /// String
        /// </summary>
        public string videoUrl { set; get; }
        /// <summary>
        /// 安装品类备注
        /// 否
        /// String
        /// </summary>
        public string installRemark { set; get; }
        /// <summary>
        /// 数量
        /// 是
        /// int
        /// </summary>
        public int count { set; get; }
        /// <summary>
        /// 行业名称 如：空调
        /// 是
        /// String
        /// </summary>
        public string businessName { set; get; }
        /// <summary>
        /// 故障原因
        /// 否
        /// List<String>	
        /// </summary>
        public string faultCause { set; get; }
    }
    public class AddedServiceDto
    {
        /// <summary>
        /// 增值服务名
        /// 是
        /// String
        /// </summary>
        public string addedServiceName { set; get; }
        /// <summary>
        /// 增值服务代码
        /// 是
        /// String
        /// </summary>
        public string addedServiceCode { set; get; }
        /// <summary>
        /// 增值服务价格
        /// 否
        /// double(20,2)
        /// </summary>
        public decimal addedServicePrice { set; get; }
    }
}
